在 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 程序在源表中拆分逗号分隔的数据并推送到目标表中

如何使用 pandas 读取并推送到 SQL 数据库中的文件不断获取数据

Blazor 拖放上传文件转换格式并推送到浏览器下载

如何设置状态并推送到数组?

在 AngularJS 和 NodeJS 中隐藏 API 密钥并推送到 Git 和 Heroku