我在我的程序中使用套接字。由于我添加了 WSAStartup
。
我的应用程序运行良好(它一直运行到收到停止信号为止)。
收到信号后,它会停止问题,如果我在程序末尾编写 WSACleanup
函数,它会崩溃,如果我删除它,它会正常终止。
谢谢
最佳答案
这是我的一个项目的摘录。
初始化:
#if defined(WIN32)
WSADATA wsaData;
WORD wVersionRequested = MAKEWORD(2, 0);
if (WSAStartup(wVersionRequested, &wsaData) != 0) {
LOG("WSAStartup() error");
return false;
}
#endif
serv_socket = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP);
...
清理:
#if defined(WIN32)
/* winsock requires a special function for sockets */
shutdown(serv_socket, SD_BOTH);
closesocket(serv_socket);
/* clean up winsock */
WSACleanup();
#else
close(serv_socket);
#endif
希望这对您有所帮助。
关于c++ - Windows 套接字 WSACleanup C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1504464/