使用AcceptEx直接调用或使用WSAIoctl获得的函数指针之间有什么区别。
MSDN并未完全涵盖有关性能问题以及使用AcceptEx作为直接调用可能面临的其他问题的问题。
另外一个问题是:
例如,如果我的程序中有4个监听套接字,我是否需要为每个监听套接字调用WSAIoctl以及为每个套接字存储函数指针?或者对于任何套接字调用一次就足够了,而不是与其他套接字一起使用就足够了。
预先感谢。
最佳答案
WSAIoctl。这是一个扩展提供程序,可用于Winsock功能的新功能/附加功能,每个新Windows版本通常都会添加几个新扩展名。
AcceptEx函数指针:
使用AcceptEx直接将应用程序绑定(bind)到需要MSWsock.dll的Microsoft提供程序。至于正确性,您可能应该以msdn方式进行操作,并通过扩展名使用这些功能。
只需设置一次即可使用,就像使用MSWsock-AcceptEx一样(您仍将使用同一东西)
至于速度/性能,我建议改用套接字池。
编辑:
应该阐明分离的(msdn)原因-扩展是Microsoft特定的功能,不应强制其他提供程序实现这些功能。
关于c++ - 不带WSAIoctl的AcceptEx,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4470645/