当前位置:  开发笔记 > 编程语言 > 正文

Jetty Websockets-应该如何使用sendPing和sendPong?

如何解决《JettyWebsockets-应该如何使用sendPing和sendPong?》经验,为你挑选了0个好方法。

我正在使用码头(9.2.7和9.3.5)websocket向连接的客户端发送大量(小)消息,尝试检测失败的(断开连接)连接时遇到了麻烦,因此,尝试重新连接时客户端(浏览器JS)。

据我了解,Websocket实现会自动使用ping / pong机制来检测连接是否处于活动状态,但是当连接“异常终止”时(例如,当用户关闭笔记本电脑时),我发现了一些问题(进入待机状态),然后在几个小时后重新打开它。

在这种情况下,服务器将不会等待很长一段时间(有时是1或1.5个小时)才会收到关闭事件,并且在客户端,onClose事件可能要花几分钟才能触发或自动连接建立(可能会在用户连接到互联网后几秒钟或有时几分钟内发生)。

对于Jetty,我已经看到RemoteEndpoint类有2个方法sendPing和sendPong,但是我不知道该如何使用它们。

例如,由于sendPing将期待答复,并且还会引发IOException,因此我假设如果我每分钟使用一次(例如,重试次数有限),则应该(在服务器端)检测到客户端不再连接,因此,将其从连接列表中删除,对吗?

推荐阅读
罗文彬2502852027
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有