有一种方法可以在服务器端管理 socket.io 创建吗?,目前,我找不到任何文档,仅找到与客户端的每个请求创建的套接字相关的“io.connect (服务器)”。
当前流程工作正常:
- 将 Socket.io(在 Node.js 中)设置为 SERVER:PORT
- 客户端连接到服务器
- 使用 io.connect(SERVER:PORT)
请问可以吗?尝试做:
- 在 SERVER:PORT 处设置 Socket.io(在 Node.js 中)
- 收到 POST (REST) - 服务器端
- 在服务器端创建/打开 Socket.io。
- 在帖子回复时发送 ID?
- 客户端打开一个 socke.io
发送到客户端socket.id作为客户端
最佳答案
到目前为止,深入研究代码和文档,我发现socket.io支持命名空间,所以我用它来管理客户端连接ID。
在 server.js
var app = express();
var server = require('http').createServer(app),
io = require('socket.io').listen(server,{ log: false });
// Rest New Process
function generateNameSpaceWs (responce, request) {
io.of("/" + id).on('connection', handler);
response.send(id);
}
app.post("/newWS", function (res, req) {
return generateNameSpaceWs(res, req);
}
在 Client.js
function makeWS(){
var ws, c = new XMLHttpRequest();
c.open("GET", url, false);
c.send();
if (c.status == 200){
id = JSON.parse(c.responseText);
ws = new io.connect("server/" + id)
}
关于node.js - 在服务器端生成 socket.io 作为 Rest 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15275395/