C#/ Java套接字连接丢失了吗?

时间:2012-03-19 13:08:58

标签: java c# sockets connection

我正在建立一个C#客户端/ Java服务器聊天室,现在一切正常,除了一件事: 经过一段时间(一个小时左右)不使用应用程序(或使用它,我不知道)它在socket.EndReceive()函数的C#客户端给我一个SocketException:

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

1 个答案:

答案 0 :(得分:1)

  

在闲置一段时间后,Java或C#套接字连接是否会关闭?

没有

然而,防火墙,特别是NAT网关通常都是静默的。

  

解决问题的最佳方法是什么?

实施心跳过程。即,客户端和/或服务器周期性地发送(例如,每10或30秒左右)一条特殊消息,该消息仅用于保持连接活动并更快地检测失败的对等体。