我有一个正在发送web请求的应用程序,在经过一段可变的时间后,我们开始收到连接超时错误。对TCP/IP数据包的分析显示,尝试的每个连接都会发生以下情况:
不是的。时间源目标协议信息
98635 2011-04-21 10:13:47.192237 172.22.3.250 172.22.3.100 TCP端口号重复使用httpx > http-alt SYN Seq=0 Win=65535 Len=0 MSS=1460
98639 2011-04-21 10:13:47.192397 172.22.3.100 172.22.3.250 TCP http-alt > httpx SYN,ACK Seq=0 Ack=1 Win=5840 Len=0 MSS=1460
98641 2011-04-21 10:13:47.192425 172.22.3.250 172.22.3.100 TCP httpx > http-alt ACK Seq=1 Ack=1 Win=65535 Len=0
98646 2011-04-21 10:13:47.192502 172.22.3.250 172.22.3.100 TCP httpx > http-alt RST,ACK Seq=1 Ack=1 Win=0 Len=0
一旦发生这种情况,必须重新启动客户端计算机以解决该问题。重新启动客户端或服务器应用程序,或重新启动服务器都不起作用。工作和非工作消息之间的分组细节的比较揭示了标志等的不同。
谢谢,
尼尔
发布于 2011-04-27 22:24:03
TCP Port numbers reused是一条线索。您的客户端可能正在重复使用本应关闭的旧连接的端口号。
您的客户端是否绑定到静态源端口?如果是,则可能是客户端操作系统拒绝了来自服务器的数据包,因为它认为它们属于旧连接。操作系统拒绝了数据包,这就是为什么只有客户端重新启动才能解决问题。(或者尝试等待几分钟)。
在客户端打开连接时,不要分配源端口。
https://stackoverflow.com/questions/5805269
复制相似问题