用于接收数据并推送到Web应用程序中的客户端浏览器的套接字

时间:2013-02-09 00:08:30

标签: sockets java-ee web-applications server-sent-events server-push

我需要连接一个SocketServer,接收数据,然后将其推送回客户端(Web浏览器)。

我只需要确认方法。我将创建一个Socket连接,它将继续在ServletContextListener中监听消息。然后将该消息存储在ServletContext中,以便将其推送回客户端浏览器。

  1. 我应该在ServletContextLister中创建套接字连接吗?或者有没有其他方式来听socket?

  2. 为了将数据推送回客户端,我不希望进行双向通信。我应该去SSE或Html5 WebSockets吗?任何支持SSE或WebSocket的Java框架以及客户端库?

  3. 由于

1 个答案:

答案 0 :(得分:0)

我实现了这个并且工作正常。对于服务器,我使用了Jetty 8并使用了jetty的WebSocket。

简单地说,我实现的是,为了收听来自SocketServer的消息,我实现了ServletContextListener,它初始化将使用消息的Socket。

当用户点击url时,我将WebSocket连接添加到Collection并将该集合存储为ServletContext属性。然后,Socket访问此WebSocket列表,该消息在消息到达时迭代并发送消息。然后将该消息推送回所有连接的客户端。