- RAII 调用时不执行析构函数
exit
。所以WSACleanup
不运行。有什么问题?我发现 没有任何libnet
使用,为什么?WSAStartup
WSACleanup
WSAStartup
一个进程可以调用多次,那怎么保证WSACleanup
够用呢?- 如何使用
WSAStartup
又WSACleanup
简单又优雅? - 另外我写了这个测试代码进行测试,
WSAStartup
没有WSAClean
发现任何异常(内存增长或崩溃......)
代码:
int main(int argc, char *argv[])
{
int res;
while (1) {
WSADATA wsadata;
res = WSAStartup(0x0202, &wsadata);
printf("WSAStartup 1 times:%d\n", res);
if (res != 0) {
printf("WSAStartup error:%d\n", WSAGetLastError());
exit(1);
}
res = WSAStartup(0x0202, &wsadata);
printf("WSAStartup 2 times:%d\n", res);
if (res != 0) {
printf("WSAStartup error:%d\n", WSAGetLastError());
exit(1);
}
}
return 0;
}