Networking 为什么此连接一直关闭-SYN->;同步,确认->;确认->;RST,ACK

Networking 为什么此连接一直关闭-SYN->;同步,确认->;确认->;RST,ACK,networking,tcp,Networking,Tcp,我有一个应用程序正在发送web请求,经过一段可变的时间后,我们开始出现连接超时错误。对TCP/IP数据包的分析表明,每个尝试的连接都会发生以下情况: 否。时间源目标协议信息 98635 2011-04-21 10:13:47.192237 172.22.3.250 172.22.3.100 TCP[重新使用的TCP端口号]httpx>http alt[SYN]Seq=0 Win=65535 Len=0 MSS=1460 98639 2011-04-21 10:13:47.192397 172.2

我有一个应用程序正在发送web请求,经过一段可变的时间后,我们开始出现连接超时错误。对TCP/IP数据包的分析表明,每个尝试的连接都会发生以下情况:

否。时间源目标协议信息

98635 2011-04-21 10:13:47.192237 172.22.3.250 172.22.3.100 TCP[重新使用的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

98642011-04-21 10:13:47.192425172.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

一旦发生这种情况,必须重新启动客户端计算机以修复该问题。重新启动客户端或服务器应用程序,或重新启动服务器均无效。通过比较工作消息和非工作消息之间的数据包详细信息,可以发现标记等方面并没有差异

谢谢,


Neil

重复使用的TCP端口号是一条线索。可能是您的客户端正在重新使用旧连接的端口号,该连接本应关闭

您的客户端是否绑定到静态源端口?如果是,则可能是客户端操作系统拒绝来自服务器的数据包,因为它认为这些数据包属于旧连接。操作系统拒绝数据包,这就是为什么只有重新启动客户端才能解决问题。(或者尝试等待几分钟)


在客户端上打开连接时,不要分配源端口。

忽略了,我们使用的是MFC类:CInternetConnection、HttpConnection、HttpFile这里没有超时的迹象,除非您使用的超时值非常低。客户端已决定在决定完成连接77毫秒后重置连接。该客户端的硬件或操作系统有问题。我们使用MFC HTTP类,因此我无法控制端口分配。我们还看到,即使对于重复使用的端口,它也会工作一段时间,在出现故障之前,在可用端口之间循环数次。