首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不支持Atmosphere.js 501 Websocket协议

不支持Atmosphere.js 501 Websocket协议
EN

Stack Overflow用户
提问于 2015-06-04 11:48:01
回答 1查看 1.7K关注 0票数 0

在用0.20.0客户机在Jetty上运行的2.2.0环境中,有时,尽管很少,我们的日志中会出现以下情况:

代码语言:javascript
复制
12:18:01.105 WARN  org.atmosphere.websocket.WebSocket: Unable to write 501 Websocket protocol not supported
12:18:01.106 WARN  o.a.w.protocol.SimpleHttpProtocol: Status code higher or equal than 400. Unable to deliver the websocket messages to installed component. Status 501 Message Websocket protocol not supported

这种垃圾邮件发送的速度非常快,大约每隔5ms,如果在生产中发生这种情况,那么除了摧毁系统之外,没有别的办法了。所以我们真的需要避免这种情况。

这可能是我们客户端的一个问题,但我想知道的是,是否有一种方法可以识别服务器后端的此类错误,并关闭连接,如果我们不能解决根本原因呢?

..。编辑,大约六个月后:这个问题似乎是由早期的Jetty异常引起的:

11:05:54.363 ERROR o.a.container.Jetty9WebSocketHandler:{} org.eclipse.jetty.websocket.common.io.AbstractWebSocketConnection.onReadTimeout(AbstractWebSocketConnection.java:521) device上的读取超时-交互-服务-1.0.jar:na在org.eclipse.jetty.io.AbstractConnection.onFillInterestedFailed(AbstractConnection.java:258)设备-交互-服务-1.0 .jar:na在org.eclipse.jetty.websocket.common.io.AbstractWebSocketConnection.onFillInterestedFailed(设备-交互-服务-1.0.jar :na在org.eclipse.jetty.io.AbstractConnection$ReadCallback$1.run(AbstractConnection.java:420)设备-交互-1.0.jar:na在org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:601)设备-交互-服务-1.0.jar:na在org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:532)设备-交互-服务-1.0.jar:na在org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:532)设备在java.lang.Thread.run(Thread.java:745) na:1.8.0_51 11:05:54.365调试o.a.w.DefaultWebSocketProcessor:无法正确完成2d48f7ce-6150-42c2-b815-93acf94bdb93 11:05:55.156警告org.atmosphere.websocket.WebSocket:无法编写不支持的501个Websocket协议,11:05:55.157警告o.a.w.protocol.SimpleHttpProtocol:状态代码高于或等于400。无法将websocket消息传递到已安装的组件。状态501消息Websocket协议不支持11:05:55.201警告org.atmosphere.websocket.WebSocket:无法编写501WebSocket协议不支持11:05:55.202警告o.a.w.protocol.SimpleHttpProtocol:状态代码高于或等于400。无法将websocket消息传递到已安装的组件。状态501消息Websocket协议不支持11:05:55.203警告org.atmosphere.websocket.WebSocket:无法编写501WebSocket协议不支持.

在我看来,这个连接似乎是挂起的,在我的@ManagedService上没有调用@Disconnect方法。

我想知道如何拦截这一点,并关闭连接,迫使客户端重新连接。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-06-10 12:42:44

编写自己的WebSocketProtocol或扩展SimpleHttpProtocol#onError https://github.com/Atmosphere/atmosphere/wiki/Writing-WebSocket-Sub-Protocol

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30643043

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档