C#/Java套接字连接丢失

本文关键字:连接 套接字 Java | 更新日期: 2023-09-27 18:28:11

我正在制作一个C#客户端/Java服务器聊天室,现在一切都很好,除了一件事:在一段时间(大约一个小时)不使用应用程序(或者我不知道是否使用它)之后,它在套接字的C#客户端上给了我一个SocketException。EndReceive()函数:

A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond

Java或C#套接字连接在空闲一段时间后会关闭吗?还是仅仅是tcp协议?修复它的最佳方法是什么?

谢谢大家!

Bas

C#/Java套接字连接丢失

Java或C#套接字连接在空闲一段时间后会关闭吗?

没有。

然而,防火墙,尤其是NAT网关,通常是无声的。

修复它的最佳方法是什么?

执行心跳程序。即客户端和/或服务器周期性地(例如每10或30秒左右)发送一个特殊消息,该消息仅用于保持连接的有效性和更快地检测故障对等体。