socket.io的最佳java服务器实现

时间:2013-03-22 11:01:56

标签: java socket.io

我想使用socket.io将数据从服务器推送到浏览器,但项目是java tomcat,而 Github 中有很多实现{{1}的服务器实现}。他们中的大多数人说他们已被弃用或者更好的可用。任何人都建议我做一个很好的实施。

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

谢谢

3 个答案:

答案 0 :(得分:47)

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

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

稳定且生产就绪的lib。

答案 1 :(得分:6)

我们正在制作这个:Socket.IO-Java。我们根据我们的要求定制。但在主要情况下它运作良好。

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

答案 2 :(得分: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);
            }
       }
});