在Windows 7下可以重用Winsock套接字吗?

时间:2019-05-06 03:25:56

标签: winsock winsock2

我知道WSASocketclosesocket的调用成本很高,而且我知道使用DisconnectEx标志调用的TF_REUSE_SOCKET使断开连接的套接字能够再次传递给{{ 1}}。

尽管这在Windows 8.1及更高版本上应该可以使用,但我现在正在开发Windows 7,并且正在开发 Windows 7,并且如果我没记错,AcceptEx返回一个错误,如果用{{ 1}}标志,或者如果没有导致任何错误,则使用该套接字调用DisconnectEx肯定会导致某些错误。

官方文档说TF_REUSE_SOCKET应该在Windows 8.1或更高版本下使用,所以这并不奇怪。

还有其他方法可以重用套接字吗?

例如通过方法重置它,或以某种方式清除其内部结构,或者是否存在任何“ hack”只是翻转标志或清除该套接字“ instance”中的变量以使其能够接受新连接?

也许我能以某种方式获得基本结构(AcceptEx)的内存地址,如果可能的话,我应该在其中重写什么以使其可重用?

0 个答案:

没有答案