Node.js 将Socket.IO与Servlet一起使用
我正在考虑在我的项目中使用Socket.IO而不是WebSocket(我目前正在使用)。我还没有使用Node.js。当我尝试使用Socket.IO时,我想到Node.js是实现这一点的必要工具。我有几个问题要问Node.js 将Socket.IO与Servlet一起使用,node.js,servlets,socket.io,Node.js,Servlets,Socket.io,我正在考虑在我的项目中使用Socket.IO而不是WebSocket(我目前正在使用)。我还没有使用Node.js。当我尝试使用Socket.IO时,我想到Node.js是实现这一点的必要工具。我有几个问题要问 它类似于WebSocket吗 我可以在没有Node.js的情况下使用Socket.IO吗 在哪里可以学习将Socket.IO与servlet一起使用 我是否需要添加单独的库文件来使用servlet中的Socket.IO(我使用的是Java 8)。如果是,哪一个是正确的 我使用的是玻璃鱼服
- 使用socketio协议
- 支持内存/Hazelcast/Redisson存储,用于存储开箱即用的会话
- 支持长轮询和闪存的优雅降级李>
- 基于事件模型。您必须将数据作为数据发送到套接字 42[“eventName”,您的\u数据\u对象]
- 4-消息的包类型李>
- 2-事件的内部类型李>
- eventName—事件的名称,在Java
处理程序中必须相同(见下文)@OneEvent
42["eventName", {headers map}, data(primitive, array or object)]
42["createUser", {"requestId": "UUID"}, {
"firstName": "John",
"lastName": "Dow"
}]
42["deleteUser", {}, 10]
42["getUsers", {}, [1,2,3,4,5]]
等等
- 需要通过http连接到 ws://host/socket.io/?transport=websocket
- 需要发送乒乓球数据包
- 二平,
- 3-乒乓球
- 支持在握手阶段轻松写入授权
- 支持多个房间。您可以加入/离开房间(基于Hazelcast/Redisson中的pub/sub),并仅为这些房间发送广播事件
- 支持确认回调(可禁用)
var ws = new Websocket("ws://localhost:9060/socket.io/?transport=websocket");
setInterval(function(){ sendHeartbeat(); }, 5000);
function sendHeartbeat() {
ws.send("2");
}
ws.onopen = function() {
ws.send('42["doSomething", {"header1": "value1"}, {"key1": "value1"}');
}
爪哇:
并在配置中路由到控制器:
server.addListeners(new Controller());
3) 可悲的是,关于netty socket io的信息很少,当您遇到麻烦时,您可以尝试它并创建新的问题
4) 您需要将netty套接字io添加到依赖项中。
Hazelcast或Redisson,如果您打算使用它们存储会话和房间订阅。Jackson用于json序列化/反序列化。就这些。是的。它类似于纯websocket。但内蒂·索克蒂奥:
- 使用socketio协议
- 支持内存/Hazelcast/Redisson存储,用于存储开箱即用的会话
- 支持长轮询和闪存的优雅降级李>
- 基于事件模型。您必须将数据作为数据发送到套接字 42[“eventName”,您的\u数据\u对象]
- 4-消息的包类型李>
- 2-事件的内部类型李>
- eventName—事件的名称,在Java
处理程序中必须相同(见下文)@OneEvent
42["eventName", {headers map}, data(primitive, array or object)]
42["createUser", {"requestId": "UUID"}, {
"firstName": "John",
"lastName": "Dow"
}]
42["deleteUser", {}, 10]
42["getUsers", {}, [1,2,3,4,5]]
等等
- 需要通过http连接到 ws://host/socket.io/?transport=websocket
- 需要发送乒乓球数据包
- 二平,
- 3-乒乓球
- 支持在握手阶段轻松写入授权
- 支持多个房间。您可以加入/离开房间(基于Hazelcast/Redisson中的pub/sub),并仅为这些房间发送广播事件
- 支持确认回调(可禁用)
var ws = new Websocket("ws://localhost:9060/socket.io/?transport=websocket");
setInterval(function(){ sendHeartbeat(); }, 5000);
function sendHeartbeat() {
ws.send("2");
}
ws.onopen = function() {
ws.send('42["doSomething", {"header1": "value1"}, {"key1": "value1"}');
}
爪哇:
并在配置中路由到控制器:
server.addListeners(new Controller());
3) 可悲的是,关于netty socket io的信息很少,当您遇到麻烦时,您可以尝试它并创建新的问题
4) 您需要将netty套接字io添加到依赖项中。
Hazelcast或Redisson,如果您打算使用它们存储会话和房间订阅。Jackson用于json序列化/反序列化。就这些