2

我的问题是,我创建了一个 TCP 连接,当它保持大约 1 小时没有传输任何数据时,它已经与服务器断开连接,但它没有通知我,它已断开连接,我是否应该向服务器发送保持活动数据包? 还是我应该从服务器向客户端发送保持活动数据包?或者我应该发送给两者?

4

2 回答 2

2

是的你应该。几天前我创建了一个 TCP 套接字/服务器应用程序,我遇到了同样的问题。我通过开始发送保持活动数据包来修复它。

如果您发送保持活动数据包,您的问题就会消失。

我听说有人说操作系统会为您发送保持活动数据包,我对此不是很熟悉,但是发送保持活动数据包明确对我有用

于 2013-06-22T05:56:55.257 回答
0

它不会通知我它已断开连接

它不能。除了在您下次尝试 I/O 时引发 EOS 或“连接重置”之外,没有其他方法可以这样做。

我应该发送keepalive数据包吗...

如果你有这个问题,是的。一般来说,可能不会。

于 2013-06-22T10:35:08.703 回答