在 Web 应用程序中接收数据并推送到客户端浏览器的套接字
Posted
技术标签:
【中文标题】在 Web 应用程序中接收数据并推送到客户端浏览器的套接字【英文标题】:Socket to receive data and push to client browser in a web application 【发布时间】:2013-02-09 00:08:30 【问题描述】:我需要连接一个 SocketServer,接收数据,然后将其推送回客户端(网络浏览器)。
我只需要确认方法。我将创建一个 Socket 连接,它将在 ServletContextListener 中继续侦听消息。然后消息将存储在 ServletContext 中,以便可以将其推送回客户端浏览器。
我应该在 ServletContextLister 中创建套接字连接吗?或者有没有其他方法可以监听socket?
为了将数据推送回客户端,我不想进行双向通信。那么我应该选择 SSE 还是 html5 WebSockets?任何支持 SSE 或 WebSocket 以及客户端库的 java 框架?
谢谢
【问题讨论】:
【参考方案1】:我实现了这个并且它工作正常。对于服务器,我使用 Jetty 8 并使用了 jetty 的 WebSocket。
简单来说,我是如何实现的,为了监听来自 SocketServer 的消息,我实现了 ServletContextListener,它初始化 Socket 来消费消息。
当用户点击 url 时,我将 WebSocket 连接添加到 Collection 并将该集合存储为 ServletContext 属性。然后,这个 WebSocket 列表由 Socket 访问,它在消息到达时迭代并发送消息。然后将消息推送回所有连接的客户端。
【讨论】:
以上是关于在 Web 应用程序中接收数据并推送到客户端浏览器的套接字的主要内容,如果未能解决你的问题,请参考以下文章
使用 Subversion 并推送到登台,然后是 Live Server
Oracle PL/SQL 程序在源表中拆分逗号分隔的数据并推送到目标表中