【问题标题】:How to socket.io with express generator? Individual socket, for individual link如何使用快速生成器连接 socket.io?单独的插座,用于单独的链接
【发布时间】:2017-03-14 01:21:57
【问题描述】:

我有典型的 express-generator 应用程序。在我的控制器文件夹中,我有代码:

        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 建议的简单指南,但它不起作用。 试着想象一下,这里有很多不同的聊天室,对于每个房间,我都需要打开单独的套接字......我知道如何使它成为全球性的,但不知道如何制作个人套接字,用于个人页面...... .

【问题讨论】:

    标签: javascript node.js express socket.io


    【解决方案1】:

    这就是房间的用途。

     socket.join(<ROOM_NAME>)
    

    如果您想加入一个以您连接的 URL 命名的房间,您可以使用socket.request.url。例如:

      io.sockets.on('connection', (socket) => 
      {
        const _req = socket.request
        console.log(_req.url) // do something with it
      }
    

    编辑

    并且不要将 socket.io 逻辑放在您的 REST 路由中。制作一个全局连接逻辑,您可以(显然)将其模块化。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-01-17
      • 1970-01-01
      • 1970-01-01
      • 2016-05-08
      • 1970-01-01
      • 1970-01-01
      • 2012-10-06
      相关资源
      最近更新 更多