【问题标题】:Best java server implementation for socket.iosocket.io 的最佳 Java 服务器实现
【发布时间】:2013-03-12 05:06:18
【问题描述】:

我想使用socket.io将数据从服务器推送到浏览器,但项目是java tomcat之一,Github中有很多实现socket.io的服务器实现。他们中的大多数人说它们已已弃用或有更好的可用。谁能建议我一个好的实现。

我看到很多关于使用socket.io 广播的演示和示例代码。我的要求是将不同的消息推送给不同的客户端。有人可以指点我一些处理这些东西的好演示或教程吗?

谢谢

【问题讨论】:

  • 只要寻找socket-io的java实现有很多,但是它们对许多容器的支持并不好。所以我选择的是大气,它给你选择使用 socket io 作为 lirary 或他们的和其他一些,它确实支持大多数容器。这似乎是一个积极开发的项目,我会向任何在 java 中做彗星的情况推荐它跨度>

标签: java socket.io


【解决方案1】:

作为作者,我建议在 Java 上尝试我的 SocketIO 服务器实现:

https://github.com/mrniko/netty-socketio

稳定且可用于生产的库。

【讨论】:

  • Netty-socketio 创建自己的服务器,或者我可以在 Tomcat 应用程序中使用它,例如?
  • @NikitaKoksharov 嗨,有没有关于 netty-socketio 的正式文档可供我在围绕它构建软件时用作参考?
  • Nikita 感谢库,花了几分钟让一切都为我工作,我希望更多的人知道如何设计像你这样的东西......
  • 你用过Atmosphere Framework吗?比较如何?
  • @NikitaKoksharov 我可以使用基于 Netty-socketio 框架 EndPoint 的实现吗?
【解决方案2】:

我们在生产中使用这个:Socket.IO-Java。我们已经根据我们的要求对其进行了定制。但在主要情况下,它已经足够好了。

我的同事在github 分享了定制版本。我们使用的是 Jetty 8,另一个 servlet 容器可能会出现一些问题。此外,当 Microsoft 不支持 XP 时,我们会考虑仅使用 WebSocket 实现。

【讨论】:

  • 嘿,感谢您的回答,我确实检查了许多这些 Java 后端。但它们中的大多数都特定于某些容器,例如您指出的用于码头的容器。所以我选择了与气氛一起使用
  • 链接已失效。你能在某处分享你的定制版本吗? (也许是github)该项目的文档说它已被放弃,您的更改可能是它所缺少的:)
  • @naugtur 我已经添加了回购链接
【解决方案3】:

你可以试试这个:https://github.com/codeminders/socket.io-server-java

此实现大致基于其他答案中提到的旧 Socket.IO-Java 库。

它支持 Socket.IO 1.0+ 客户端。 websocket 传输是使用 Jetty 9 实现的,但库的核心部分不依赖于 Jetty。 如果需要,用 Tomcat 实现 websocket 传输应该不是很困难。

我尝试保持 API 类似于 Node.JS Socket.IO 服务器 API。因此,要向特定套接字发送消息,您只需调用socket.emit()

下面是要在 SocketIO servlet 中调用的小代码片段:

on(new ConnectionListener() {
        public void onConnect(Socket socket)
        {
            try
            {
                socket.emit("welcome", "Welcome to Socket.IO Chat!");
            }
            catch (SocketIOException e)
            {
                socket.disconnect(true);
            }
       }
}); 

【讨论】:

  • 兼容ios和android socket io客户端吗?
猜你喜欢
  • 1970-01-01
  • 2016-02-02
  • 2011-10-04
  • 2020-08-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-02-12
  • 2015-07-26
相关资源
最近更新 更多