TCP连接,为什么运行一段时间后会断开连接?

时间:2021-05-07 15:21:53
同一台服务器与多个客户端进行连接,但运行几个小时后,据客户反映,连接会自动断开,需要重新启动一次客户端才可以重新建立连接。
但我的代码里面写有断开连接后,自动重新连接的代码。

Private Sub Timer1_Timer()
If Winsock1.State <> sckConnected Then
    Winsock1.Close
        '关闭前面的连接
    If m_nPort <> 0 Then Winsock1.Connect m_strIp, CStr(m_nPort)
End If
end sub

第一个不明白的是为什么会无缘无故断开连接呢?另外,即使断开连接了,应该也会自动重新连接起来呀?为什么就没有连接起来呢?

3 个解决方案

#1


If Winsock1.State <> sckConnected Then 
这问话不行的,Winsock有很多状态

#2


是客户端挂了还是连接断开了。。看你的代码应该不会有啥问题啊

#3


将发送的数据包设置的小一些,之前遇到过,发关大于2G文件出现断开,但大小选择合适应该可以解决.

#1


If Winsock1.State <> sckConnected Then 
这问话不行的,Winsock有很多状态

#2


是客户端挂了还是连接断开了。。看你的代码应该不会有啥问题啊

#3


将发送的数据包设置的小一些,之前遇到过,发关大于2G文件出现断开,但大小选择合适应该可以解决.