【问题标题】:socket.io : associate browser and computer with the connectionsocket.io :将浏览器和计算机与连接相关联
【发布时间】:2013-11-21 18:49:44
【问题描述】:

我正在使用 socket.io 库在 node.js 中编写游戏。它有一个服务器,有 2 个客户端连接并播放。我的游戏运行良好,但出现了问题。

如果已经连接的客户端再次连接到游戏,则将其视为第三次连接请求,这会使事情变得混乱。

当我在客户端浏览器未关闭时重新启动节点服务器时,通常会发生这种情况。我确实解决了这个问题。

【问题讨论】:

    标签: node.js sockets socket.io


    【解决方案1】:

    您可以使用 cookie。有这方面的模块:Socket.IO Authentication

    但您也可以手动操作,因为它是一个简单的 cookie:
    当用户连接时,添加一个步骤以在开始游戏之前识别用户。此步骤应创建 cookie 或使用现有的 cookie 并将其发送到服务器进行身份验证。

    不难,你可以用javascript读写cookie,发送String/number到服务器也不成问题(websocket.emit('auth',whatever))。

    【讨论】:

      【解决方案2】:

      根据这个例子,使用cookies来识别socket.io中的会话看起来是可能的,但你最好使用查询字符串值来识别特定的浏览器或计算机:

      https://www.exratione.com/2013/05/the-use-of-cookies-versus-query-string-tokens-to-identify-sessions-in-socketio/

      【讨论】:

        猜你喜欢
        • 2013-02-16
        • 1970-01-01
        • 1970-01-01
        • 2014-12-05
        • 2011-03-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多