当调用exit.So WSACleanup不运行时,RAII不执行析构函数。有什么问题吗?我发现libnet use WSAStartup没有任何WSACleanup,为什么?WSAStartup可以在一个进程中多次调用,那么如何确保足够的WSACleanup?
如何轻松、优雅地使用WSAStartup和WSACleanup?另外,我为没有WSAStartup的测试WSAClean编写了这个测试
我正在努力理解是什么导致给定应用程序的所有套接字下降/关闭,并且无法再次打开。我的应用程序有多个套接字(http、ftp等)并且将运行一段时间,尽管在某个时候(有些确定性),所有的套接字都会下降(我可以通过ProcMon看到这一点)。我得到了可怕的Exception: An established connection was aborted by the software in your host machine异常。然后,如果我再次尝试打开套接字,我会收到一个错误,说明WSAStartup可能没有被调用。
我
我正在编写一个用于TCP/IP网络客户端通信的类。在类头中,我创建了一个套接字成员。该类还包含一个用于调用WSAStartup和检查版本的方法。建立连接的方法首先调用WSAStartup,然后初始化调用socket()函数的套接字成员。请参阅下面的代码。我想知道这是否“正确”,或者是否有更好的方法。false ; /* could not connect*/
boo
WSAData在启动接受线程的主线程中初始化。iResult = WSAStartup(MAKEWORD(2,2), &wsaData); printf("WSAStartup failed with error: %d\n", iResult);}
// Things in betweenstd::thread