日期:2014-05-18  浏览次数:20613 次

Socket 心跳包 线程设计
要求如下:
Socket客户端与服务器建立连接A,连接B
A,B连接得到服务器确认后
A承担工作,发送接受命令与服务端通讯,同时每隔6秒发送心跳包到服务端
B承担工作,接受服务端返回心跳包,30秒接受不到心跳包,判断出连接断开
完成以上功能,程序如何设计?线程如何设计?
有写过心跳包保持长连接的大侠可否提供实例代码?



------解决方案--------------------
这个很好写的,
  一分钟就可以吧,你什么样的需求会要6秒一个呢?
客户端连服务器是一定可以连上的,心跳包只是保证服务器能找到客户端。并且知道这个客户端是否还存在
这个看下,也许有用。不一定对哈,我也菜
http://topic.csdn.net/u/20081009/13/abd12947-e78e-43ba-9a43-ce690ecb8ac2.html
------解决方案--------------------
心跳是双向的?可以简单的Socket链接另一方,然后定期发送数据。

对方定期检测数据,如果连续几次没有数据,则确认心跳失败。

如果连续几次发送失败,则心跳失败。