我有一个使用WSAECONNRESET的winsock服务器,错误代码为10054事件。我可以使用exit()函数执行此操作,但之后我必须重新启动我的应用程序。
问题是如何终止已建立的连接并将第一个数据包发送到我的服务器,因此它与我使用exit()但不使用它时发生的过程完全相同。所以我的应用程序必须继续运行,但它必须终止与RST数据包的连接。基本上我想模仿CTRL + C,或者退出()或终止()进程,以便发送RST数据包。
我试过了 SO_LINGER套接字选项与socketclose();和shutdown();但它不会导致WSAECONNRESET事件。答案 0 :(得分:1)
我尝试了SO_LINGER套接字选项
您需要将其设置为“打开”,并且超时为零。
与
结合使用socketclose();
正确。
和
shutdown();
不正确的。删除它。它发送一个FIN。
但它不会导致WSAECONNRESET事件。
由于shutdown()
。删除它。