Prayer

在一般中寻求卓越
posts - 1256, comments - 190, trackbacks - 0, articles - 0
  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

网络连接断开可以分为两种

Posted on 2009-06-15 18:42 Prayer 阅读(1006) 评论(0)  编辑 收藏 引用 所属分类: SOCKET
网络连接断开可以分为两种:  
   
  1.正常断开.  
  这类问题可以处理.  
   
  2.非正常断开.  
  a.   客户端主机突然停电、被损坏、网线被剪断,这是一类;  
  b.   客户端进程被结束任务程序强行中止,   此时物理连接是完好的.  
   
  对于非正常断开,   TCP/IP   协议不能检测,   这是   TCP/IP   的设计问题,   只能通过发送数据包来检测.  
  如   HeartBeat   包.   只要包不能正常发送出去,   不管是基于上述何种原因,   都可以认为网络已经断开.  
   
  在你的程序中加入两对   Socket   ,其中一对用来发送   HeartBeat   包.  
  出错则认为网络已经断开.  
  因为对于非正常断开,   两对   SOCKET   必然同时断开.

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理