WSAStartup()。 除此之外,还允许使用不同WinSock版本的多个套接字。 (请参阅此帖子:Is it possible to tell if WSAStartup has been called in a process?)
在这种情况下,这些不同的WinSock版本如何共存?
例如,如果我请求为我的应用程序使用特定的WinSock版本,并且我的应用程序还加载了碰巧要求使用其他版本的第三方dll,该怎么办?使用什么版本,何时使用?
答案 0 :(得分:0)
它在MS doc-
中说如果需要,应用程序可以多次调用WSAStartup 多次获取WSADATA结构信息。在每个这样的 调用,应用程序可以指定受支持的任何版本号 Winsock DLL。
最后一句话意味着,这些后续调用实际上并不需要其他Winsock版本,而只是获取保存在wsadata
中的现有版本。
如果您想在程序中间更改Winsock版本,我想您可以调用WSACleanup
(根据需要多次),并使用新的WSAStartup
“重新开始” < / p>