我在Sinatra / Faye Websocket中创建了一个WebSockets服务器。它有一些内置的ping客户端功能,但它不起作用。所以我使用一个休眠N秒的线程手动ping客户端,然后通过套接字发送一些东西。
当我没有实现ping时,客户端会在60秒不活动后关闭连接。
如何正确地做到这一点?
答案 0 :(得分:0)
我会重新思考,如果我必须使用ping
选项......它很难被利用,我认为如果它是最好的解决方案,Faye会实施一个工作流程。
我会创建一个javascript计时器,通过websocket发送实际数据,调用空事件。
如果您的服务器端应用程序忽略了该数据,那么您将拥有一个基于javascript的有效ping,并允许您对简单ping
中可能缺少的一些控制措施(例如记录用户的上一个活动状态)时间,像Facebook一样,和其他选项)。