标签:程序 一般来说 FN 分享 MF 为什么 rmi 初始化 setup
一般来说 WASAtarup() 是应用程序调用的Windows Sockets dll的第一个函数,在调用任何Winsock Api之前,必须调用WSAStartup()进行初始化,最后调用WSACleanup()做清理工作。也就是 WSAStartup与 WSACleanup要配对使用。
MFC中的函数 AfxSocketInit() 包装了函数 WSAStartup(), 在支持WinSock的应用程序的初始化函数IninInstance()中调用AfxSocketInit()进行初始化,程序则不必调用WSACleanUp()。
如果你再次调用WSACleanup, 可能会出问题!
为什么呢?
可以看到,有这么一句,这里是有回调:
// setup for termination of sockets
pState->m_pfnSockTerm = &AfxSocketTerm;
而回调的具体内容如下:
void (AFXAPI *m_pfnSockTerm)(void); // set once initialized
可见,回调AfxSocketTerm中会WSACleanup~
标签:程序 一般来说 FN 分享 MF 为什么 rmi 初始化 setup
原文地址:https://www.cnblogs.com/MakeView660/p/9044545.html