我的问题是,我已经创建了一个TCP连接,当它在没有传输任何数据大约1小时的情况下停留时,它已经与服务器断开连接,但它没有通知我,它已断开连接,我应该发送保持活动包到服务器?或者我应该从服务器发送保持活动包到客户端?或者我应该发送给两者?
答案 0 :(得分:2)
是的,你应该。几天前我创建了一个TCP套接字/服务器应用程序,我遇到了同样的问题。我通过开始发送保持活动包来修复它。
如果您发送保持活动数据包,您的问题将会消失。
我听说有人说操作系统会为你发送keep alive包,我对此不是很熟悉,但发送keep alive包明确地为我工作
答案 1 :(得分:0)
它没有通知我它已断开连接
它不能。除了在下次尝试I / O时引入EOS或“连接重置”之外,没有办法可以做到这一点。
我应该发送keepalive数据包......
如果你有这个问题,是的。一般来说,可能不是。