在我使用node.js和socket.io创建WebSocket服务器之前,我对jetty的WebSockets很陌生。但由于不同的要求,我必须使用 java WebSocketServlet/WebSocket,并且到目前为止使用 maven、jetty 和 jetty-websocket 插件表现良好。我的问题是,我没有找到任何与 java 解决方案的 socket.io 的 socket.on(event, fn) 实现相媲美的东西。我希望有同样的可能性对客户端发出的不同事件使用react,例如“new”、“addthis”、“jointhat”...以 json 或正文中的 POST 参数形式发送一些数据。是否有任何可能性或WebSocket实现可以做与socket.io相同的事情? 做这个“ channel ”的事情,我可以在服务器端实现事件处理?
最佳答案
WebSocket 规范中没有自定义事件,socket.io 只是遵循自己的协议(protocol)支持自定义事件 - https://github.com/LearnBoost/socket.io-spec
据我所知,没有Java实现支持自定义事件监听。
但是,使用Atmosphere,您可以将socket.io客户端与Java Web服务器一起使用,但我没有测试过。 https://github.com/Atmosphere/atmosphere/wiki/Getting-Started-with-Socket.IO
如果您想直接控制 Jetty 的 WebSocketServlet,您可能需要在客户端使用其他库,例如 jQuery Socket。 -https://github.com/flowersinthesand/jquery-socket/tree/master/samples/jetty-ws
关于java - jetty WebSocket 自定义事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11797708/