`
v5browser
  • 浏览: 1134836 次
社区版块
存档分类
最新评论

基于select模型tcp服务器的掉线处理

 
阅读更多

Camera和手机之间通过中转服务器来转发数据。如果任何一方非正常退出时, 会导致select函数执行异常。

不需要在服务器定时检查每个socket描述符。 解决方法如下:

1) 手机播放视频时每个30秒发送一个心跳包并由服务器转发给Camera。 如果超过30秒未收到心跳包, Camera中断本次传输,并通知服务器释放手机socket的描述符。

2) 当Camera掉线时, select获取到这个camera的FD_SET有变化,但recv却返回error. 这种情况服务器直接释放Camara的socket描述符。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics