当来自服务器的 FIN、ACK 之后发送 RST 时,客户端的套接字发送不会失败

发布于 2024-10-14 22:47:59 字数 229 浏览 2 评论 0原文

场景如下: TCP服务器运行在solaris上,TCP客户端运行在Linux上。客户端连接并开始发送数据。客户端停止发送数据,并且在 N 不活动秒后,服务器发送 FIN、ACK(可能来自发送管道上的关闭调用)。客户端再次开始发送数据。服务器崩溃了,开始发送一堆没有设置其他标志的 RST 数据包。第一个数据包丢失,他们再次握手。发送永远不会返回错误,并且一个数据包会默默地丢失。

有什么想法为什么 RST 没有传播到客户端吗?

Heres the scenrio:
TCP server running on solaris, TCP client running on Linux. Client connects and starts sending data. Client stops sending data and after N inactive seconds the server send a FIN, ACK (presumably from a shutdown call on the send pipe). The client starts sending data again. The server freaks out and starts sending a bunch of RST packets with no other flags set. The first packet is lost and they handshake again. The send never returns an error and the one packet is silently lost.

Any ideas why the RST is not being propagated to the client?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

恍梦境° 2024-10-21 22:47:59

正在传播发送错误和重新连接。我的不好。我猜盯着日志看得太久了。谢谢!

The send error and re-connect is being propgated. My bad. Staring at logs too long I guess. THANKS!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文