繁体   English   中英

为什么插座不在插座的另一侧? (CLOSE_WAIT)?

[英]Why doesn't the socket close on the other side of the socket? (close_wait)?

我有套接字问题。 我正在我的电脑和手机之间创建一个插座来发送信息。 当我关闭服务器或客户端时,它会发送一个FIN数据包并保持FIN_WAIT2状态一分钟。 但是,另一方卡在CLOSE_WAIT状态,显然无法关闭套接字。 我认为套接字应该立即关闭,所以也许我应该以某种方式在客户端实现一个代码,当服务器要关闭它时关闭套接字,反之亦然。 我怎样才能做到这一点?

您需要关闭套接字通道的两端。

如果服务器关闭与客户端的连接,则客户端需要关闭客户端的连接,以便传输最后一个FIN数据包(从客户端到服务器)。 这将触发TCP状态机中的最后一次状态转换。

CLOSE_WAIT表示对等方已发送FIN,TCP正在等待本地应用程序关闭套接字。 请参阅RFC 793.它不会自动发生。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM