我想使用socket.io将数据从服务器推送到浏览器,但项目是 java tomcat 之一,并且Github中有很多实现用于socket.io
. 他们中的大多数人说它们已被弃用或有更好的可用。任何人都可以建议我一个好的实现。
我看到很多关于使用socket.io
. 我的要求是将不同的消息推送给不同的客户端。有人能指点我一些处理这些东西的好演示或教程吗?
谢谢
我想使用socket.io将数据从服务器推送到浏览器,但项目是 java tomcat 之一,并且Github中有很多实现用于socket.io
. 他们中的大多数人说它们已被弃用或有更好的可用。任何人都可以建议我一个好的实现。
我看到很多关于使用socket.io
. 我的要求是将不同的消息推送给不同的客户端。有人能指点我一些处理这些东西的好演示或教程吗?
谢谢
我们在生产中使用这个:Socket.IO-Java。我们已经根据我们的要求对其进行了定制。但在主要情况下,它足够好。
我的同事在github中分享了定制版本。我们使用的是 Jetty 8,另一个 servlet 容器可能会出现问题。此外,当微软不支持 XP 时,我们考虑仅使用 WebSocket 实现。
你可以试试这个: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);
}
}
});