Windows socket close(closesocket)函数生成RST。
在linux上,当我调用close函数来关闭tcp套接字时,它会从客户端服务器通过fin/ack,然后套接字就会被关闭。
但在windows winsock上,每当我调用closesocket时,它总是生成RST消息。
我试过使用关机呼叫。它正在生成FIN。但最后我必须调用closesocket,它会发送RST。
有没有办法在不发送RST消息的情况下调用closesocket释放套接字资源?
发布于 2018-03-08 08:21:51
有几种情况会导致closesocket()发送RST而不是FIN:
当套接字中有未读数据挂起时,在您将SO_LINGER选项设置为'on‘并不超时后,
发布于 2019-02-19 12:37:26
如果没有更多的数据要发送和/或接收,您可以使用'shutdown()‘。
例如:关闭(clisocket,SD_BOTH);
https://stackoverflow.com/questions/49162429
复制相似问题