Tag: ee websocket

握手期间的WebSocket错误意外的代码200

我一直在使用Glassfish 4作为我的服务器。 我正在使用以下语句打开WebSocket连接: webSocket = new WebSocket(link); 哪里: link = ‘ws://localhost:8080/CollabEdit/Document/file333B1CDF85-DDDC-E411-8299-F82FA8BE8622’; 在服务器文件中: @ServerEndpoint(value=”/file333B1CDF85-DDDC-E411-8299-F82FA8BE8622″, encoders = {MessageEncoder.class}, decoders = {MessageDecoder.class}) 实际上,我一直在使用URL映射,这个“ file333B1CDF85-DDDC-E411-8299-F82FA8BE8622 ”实际上是针对用户的,但是在后端,控件位于“ main.jsp ”文件中。 在执行期间,生成的错误是: WebSocket connection to ‘ws://localhost:8080/CollabEdit/Document/file333B1CDF85-DDDC-E411-8299-F82FA8BE8622’ failed: Error during WebSocket handshake: Unexpected response code: 200 GlassFish服务器中的exceptionStackTrace : SEVERE: WebModule[/CollabEdit]Exception starting filter WebSocket filter java.lang.InstantiationException at org.apache.catalina.core.ApplicationFilterConfig.(ApplicationFilterConfig.java:135) at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:5297) at org.apache.catalina.core.StandardContext.start(StandardContext.java:5909) at com.sun.enterprise.web.WebModule.start(WebModule.java:691) […]

如何使用Java EE 7 WebSockets实现对客户端的推送?

我浏览了很多Web Socket示例,演示幻灯片,它们主要集中在客户端发起客户端 – 服务器通信的相当简单的场景中。 我对另一个场景感兴趣,这似乎同样实用:纯服务器推送到客户端。 示例我想到的是一个更新网站上股票价值的应用程序。 想象一下,有一个外部系统股票交易系统,它为每个订阅的股票价值变化发送JMS消息。 我想知道如何将这样的传入JMS事件转换为服务器推送,并从Java EE 7的角度有效地和惯用地转换它。 据我所知,我应该编写一个Web套接字端点 @ServerEndpoint(“/demo”) public class WSEndpoint { private static final Logger LOG = Logger.getLogger(WSEndpoint.class); @OnMessage public void onMessage(String message, Session session) { LOG.info(“Received : ” + message + “, session:” + session.getId()); } @OnOpen public void open(Session session) { LOG.info(“Open session:” + session.getId()); } @OnClose public […]