我使用Socket.IO部署了一个带有Node.JS和Express的实时绘图画布应用程序,但这是我面临的问题:
即使我创建了名称空间来根据他们访问的路径名将对等点连接到名称空间 (通常 - / webrtc /:id),应用程序在隔离两个不同的路径名方面做得不好。所以它也连接两个不同的路径名,但奇怪的是,单面连接。
例如,如果我在一个标签页上转到 localhost:3000 / webrtc / 1 而在另一个标签页上转到 / webrtc / 2 ,那么第一个标签名称将绘图数据传输到另一个,而第二个不会。
P.S它在相同的路径名中表现良好。
P.P.S我的意思是 document.href.pathname ,通过说路径名。
以下是来源:
服务器
var io = require('socket.io')(server);
app.get('/webrtc/:id', function(req, res, next) {
className = '/webrtc/' + req.params.id;
nsp = io.of(className);
res.render('webrtc');
nsp.on('connection', function(socket){
socket.on('drawing', (data) => nsp.emit('drawing', data));
});
})
的客户端
var socket = io(document.location.pathname);