您好、欢迎来到现金彩票网!
当前位置:2019欢乐棋牌 > 中断阻塞 >

bcb阻塞的socket程序怎么检测socket断开

发布时间:2019-07-29 23:46 来源:未知 编辑:admin

  判断socket是否已经断开的方法是使用非阻塞的select方式进行socket检查,步骤如下:

  3)如果select()函数返回的值为1,但是使用recv()函数读取的数据长度为0,那么说明该socket已经断开。

  如果recv()返回值小于等于0时,客户端的连接已经断开,但是还需要判断errno是否等于EINTR。如果errno=EINTR则说明recv()函数是由于程序接收到中断信号后返回的,socket连接应该还是正常,步应该close掉socket连接。

  3)Socket出现问题时,返回-1,具体的错误码请查看man recv;

  此外,UNP卷一上有很多socket异常情况下的模拟解释,大家可以去阅读下。如果网络中间有多级路由,路由当掉等很多情况出现,所以建议程序中在应用层中加入心跳(heartbeat机制)和重连来维持连接的状态。

http://womensarab.com/zhongduanzusai/235.html
锟斤拷锟斤拷锟斤拷QQ微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷微锟斤拷
关于我们|联系我们|版权声明|网站地图|
Copyright © 2002-2019 现金彩票 版权所有