我有典型的快速发电机应用程序。在我的控制器文件夹中,我有代码:
router.get('/:id([A-Za-z0-9_]{5,25})', function(req, res, next) {
res.render('my-page.html', { title: 'Messages'});
//How to implement socket.io code for this page?
/*
io.on('connection', function(socket){
console.log('a user connected');
});
*/
});
我尝试了socket.io网站和stackoverflow建议的简单指南,但它无法正常工作。 试着想象一下,这里有很多不同的聊天室,而且对于每个房间,我都需要打开个人插座...我知道如何使它全球化,但不知道如何制作个人插座,个人页面..
答案 0 :(得分:1)
那是什么房间。
socket.join(<ROOM_NAME>)
如果您想加入以您连接的网址命名的会议室,则可以使用socket.request.url
。例如:
io.sockets.on('connection', (socket) =>
{
const _req = socket.request
console.log(_req.url) // do something with it
}
并且不要将socket.io逻辑放在REST路由中。制作一个全局连接逻辑,您可以(显然)模块化。