WebSockets,如何实现ping?

时间:2015-04-13 10:17:53

标签: ruby web websocket sinatra

我在Sinatra / Faye Websocket中创建了一个WebSockets服务器。它有一些内置的ping客户端功能,但它不起作用。所以我使用一个休眠N秒的线程手动ping客户端,然后通过套接字发送一些东西。

当我没有实现ping时,客户端会在60秒不活动后关闭连接。

如何正确地做到这一点?

1 个答案:

答案 0 :(得分:0)

我会重新思考,如果我必须使用ping选项......它很难被利用,我认为如果它是最好的解决方案,Faye会实施一个工作流程。

我会创建一个javascript计时器,通过websocket发送实际数据,调用空事件。

如果您的服务器端应用程序忽略了该数据,那么您将拥有一个基于javascript的有效ping,并允许您对简单ping中可能缺少的一些控制措施(例如记录用户的上一个活动状态)时间,像Facebook一样,和其他选项)。