websocket服务如何在服务端加心跳功能?

小七他哥

我搭建了一个websocket服务,主要是html 5页面打开的时候会连接该websocket服务,我现在是pc端的浏览器打开页面然后关闭的时候,通过在服务端用status命令检查是没有问题的,连接数会减少,但是手机端app里面访问该html5页面,然后直接关掉app,通过服务端status命令显示该连接没关闭掉,都过了10多分钟还没有关掉,非常让人恼火,想请问下这种情况的话,该如何处理呢?

我目前看手册里有个心跳机制,但是内容说的好像是从客户端定时向服务器发送点数据,然后服务端判断是否在间隔时间内发送了消息来判断是否要关掉,我不知道是否有那种在服务端检测连接心跳的方法,客户端没有接收到确认接受数据就把当前的连接关闭,请大神指教,谢谢。

阅读 783
1个回答

six

除了客户端发数据反馈,否则服务端无法知道客户端是否收到了服务端的数据。所以通用做法是当某个客户端连接在规定时间内没有发数据给服务端,就认为这个连接已经断开,执行close操作

  • 暂无评论