草庐IT

cpp_exceptions_handling

全部标签

c# - 即使有异常(exception)规则,Windows 防火墙也会阻止 tcp 端口

我正在开发一个Android应用程序,它通过tcp套接字与桌面.NET应用程序通信。但是我面临着计算机防火墙的问题。应用程序既充当服务器又充当客户端,它们监听端口50655。通信正常,我可以成功地从Android向PC发送tcp消息,以及从PC向Android发送tcp消息,但前提是防火墙被禁用。如果我打开防火墙,PC仍然可以向Android发送消息,但是Android应用程序在创建套接字时抛出超时异常:Sockets=newSocket("192.168.1.116",50655);//ThistimesoutwhenFirewallisactive是的,我为此端口添加了防火墙异常(

vscode使用g++编译.c文件或.cpp文件

  vscode是一个跨平台、轻量级、插件非常丰厚的IDE,这里介绍在vscode里使用g++来编译.cpp文件。g++也叫GCC,在Window中,是使用MinGW方式实现g++的,它分为32位和64位2个版本,其中,MinGW-64是64位的,MinGW-32是32位的。1、下载并配置g++1.1下载g++8.1  下载GCC64位编译器,比如MinGW-W64GCC-8.1,在Sourceforge官网,选中x86_64-win32-sjlj即可下载,如图(1)所示:图(1)下载MinGW-W64-GCC-8.1.0  MinGW-W64GCC-8.1官网地址:MinGW-W64GCC-

c# - 尝试 socket.Connect 时出现 Socket Exception 10054

1-我有一个GHIElectronicsFEZSpider3设备2-我已经通过以太网电缆将设备连接到我的笔记本电脑并配置了网络设置3-我可以使用cmd从笔记本电脑pingFEZ设备:ping172.16.43.1934-我已经编写了一个Windows窗体应用程序在我的笔记本电脑上运行并充当TCP接收器5-我想从FEZ设备发送TCP数据包到我笔记本电脑上的win应用程序以下是win应用代码:string[]dnsAddresses={"172.16.40.2","172.16.40.5"};constInt32c_port=12250;publicForm1(){InitializeCo

c++ - 阻塞 TCP 套接字 : “send()” return and error handling

根据这个答案Blockingsockets:when,exactly,does“send()”return?,阻塞套接字上的send()将在用户缓冲区被复制到内核缓冲区后立即返回。在传送失败的情况下(即,客户端未收到字节),调用send()的进程如何收到失败发生的通知? 最佳答案 POSIX/BSD套接字API不为TCP连接错误提供中断驱动的异步接口(interface)。由于TCP是可靠的,因此数据未交付的唯一原因是连接本身出现故障,无法完全交付。您必须通过在(可能是非阻塞的)套接字上执行某种同步操作来检测错误。最异步的机制是使用

unity导入Android报错Unity.IL2CPP.Building.BuilderFailedException

把从unity导出的Android包作为一个模块嵌入至Android程序在解决了sdk31损坏等一系列问题,终于将程序成功安装到了手机上,以为就要通向光明未来了,结果在手机端调试时发现本人手机硬件(高通778,v8)不支持unity程序。经过百度发现我导出的unity项目只支持处理器架构v7的手机.。。按照newchenxf老师的教程https://blog.csdn.net/newchenxf/article/details/121923158经过一番playersetting配置修改,重新导出了支持v8的unity包。然后还按照报错提示安装好了ndk。结果,结果,build时又出错了,如图

c++ - WSARecv 有时会为与 IOCP 端口关联的套接字返回 "invalid handle (error no 6)"。 (C++)

我正在尝试编写一个可以同时支持多个客户端连接的服务器,所以我正在尝试使用IOCP来实现。因此,让我简要介绍一下我的代码流程,然后我可以解释我的问题。首先,服务器打开一个端口用于监听并等待新传入连接的“接受”调用。作为引用,我使用了与提到的相同的代码here所以它接受每个新的传入连接并返回一个新的套接字描述符(sd),然后它标记为非阻塞:arg=1;ioctlsocket(sd,FIONBIO,&arg);然后启用TCP_NODELAY:level=IPPROTO_TCP;optName=TCP_NODELAY;value=1;setsockopt(sd,level,optName,(c

C# 异步 TCP 套接字 : Handling buffer size and huge transfers

当使用阻塞TCP套接字时,我不必指定缓冲区大小。例如:using(varclient=newTcpClient()){client.Connect(ServerIp,ServerPort);using(reader=newBinaryReader(client.GetStream()))using(writer=newBinaryWriter(client.GetStream())){varbyteCount=reader.ReadInt32();reader.ReadBytes(byteCount);}}注意远程主机如何发送任意数量的字节。但是,当使用异步TCP套接字时,我需要创建一

sockets - NodeJS : What is the proper way to handling TCP socket streams ? 我应该使用哪个定界符?

据我了解here,“V8有一个分代垃圾收集器。随机移动对象。Node无法获取指向原始字符串数据的指针以写入套接字。”所以我不应该将来自TCP流的数据存储在字符串中,特别是当该字符串变得大于Math.pow(2,16)字节时。(希望我到现在为止都是对的..)那么处理来自TCP套接字的所有数据的最佳方法是什么?到目前为止,我一直在尝试使用_:_:_作为分隔符,因为我认为它在某种程度上是独一无二的,不会混淆其他东西。数据样本将是一些东西_:_:_可能是一个大文本_:_:_可能是成吨的行_:_:_越来越多的数据这是我尝试做的:net=require('net');varserver=net.c

ios - libc++abi.dylib : terminating with uncaught exception of type NSException in a game

当我运行我的Swift游戏并按下按钮转到另一个屏幕时,我收到此错误:2015-08-3004:14:48.038SHE.1.0[45317:3481211]Unabletosimultaneouslysatisfyconstraints.Probablyatleastoneoftheconstraintsinthefollowinglistisoneyoudon'twant.Trythis:(1)lookateachconstraintandtrytofigureoutwhichyoudon'texpect;(2)findthecodethataddedtheunwantedconst

Java基础(项目1)——项目设计分层 & dao + service + test +ui + exception + log + util

目录引出DAO层---和数据库交互1.通过IO流存储到dat文件2.通过JDBC存储到数据库【测试】用junit进行测试:@Test注解Service层---处理业务1.项目设计分层初步2.service处理业务相关3.和UI层以及dao层进行交互UI层界面---控制台,单例模式1.创建单例的方法2.页面的实现Exception层----异常的处理Test测试层----dao和service可测1.dao的测试2.service结合UI测试resource层-----配置文件,数据文件项目的日志---log4j1.日志的级别2.日志的配置和使用util层---工具,DbUtil,常量1.枚举的