服务器端怎么能获知客户端的意外断开呢???急!!(30分)

  • 主题发起人 主题发起人 gsl4361
  • 开始时间 开始时间
G

gsl4361

Unregistered / Unconfirmed
GUEST, unregistred user!
客户端和服务器通过socket连接,如果通讯时,客户端网线意外断开了,客户端会出现
10053错误提示,而服务器端却没有任何提示,怎么让服务器端获知客户端的意外断开呢???
急!!
 
你可以考虑双机备份的做法,client 连接上server 隔一段时间发个心跳给server 当server
一段时间没有接受到心跳也没有接受到断开请求的时候就说明意外断开了

 
加一个timer。不错,同意楼上。
 
不用那么麻烦,有两种方法知道客户端断开
其一:主动检测 当send或Recv时出错
其二:被动通知,每Accept一个连接后,用WSAAsyncSelect(...FD_CLOSE)或者WSAEventSelect
告诉Winsock发现断开连接时通知你。
 
楼上历害。。。
 
to sofox:
您能给我讲讲WSAAsyncSelect(...FD_CLOSE)或者WSAEventSelect的用法吗?或给我一
些资料,最好是源代码,谢谢!!
 
后退
顶部