我正在使用带有Express的Node.js服务器并希望执行以下操作:
localhost/show/:projectID
)如何在Socket.IO中完成? (我已经读过“房间”,但我不知道如何将它们与URL一起使用)
答案 0 :(得分:2)
在用.handshake
进行一些实验后,我找到了类似于GeoPhoenix建议的解决方案。
我不知道我的解决方案有多好,但它确实有效。这是代码:
io.sockets.on('connection', function (socket) {
var ref = JSON.stringify(socket.handshake.headers.referer);
socket.join(ref);
io.sockets.in(ref).emit('news', {hello: "world"});
});
一旦客户端连接他使用的URL将被保存到ref
并且他加入以该URL命名的房间(当然URL可以进一步处理以具有更好的房间名称,但这不是解决方案工作所必需的。)