socket.io:将浏览器和计算机与连接相关联
我正在用socket.io库在node.js中编写一个游戏。 它有一个服务器2个客户端连接和播放。 我的游戏工作正常,但有一个问题。
如果已连接的客户端连接到游戏,则将其视为第三个连接请求,这会造成混乱。
当客户端浏览器未closures时,通常会重新启动节点服务器。 我可以解决这个问题。
你可以使用cookies。 有这样的模块: Socket.IO身份validation
但是你也可以手动完成,因为它是一个简单的cookie:
当用户连接时,在开始游戏之前添加一个步骤来识别用户。 这一步应该创build一个cookie或使用现有的cookie并将其发送到服务器进行authentication。
这并不难,你可以用javascript读写cookie,并且向服务器发送string/数字也不是问题( websocket.emit('auth',whatever)
)。
基于这个例子,看起来像使用cookie来识别socket.io中的会话是可能的,但是使用查询string值来识别特定的浏览器或计算机可能会更好: