首页 > 解决方案 > 如何获取加入游戏室的玩家姓名?

问题描述

我正在使用 nodejs、socket.io 和 sql 数据库制作井字游戏来存储结果。问题是我无法获得加入游戏室的两个玩家的名字。我怎样才能做到这一点?

标签: mysqlnode.jssocket.iotic-tac-toe

解决方案


您的服务器没有 socket.io 连接的“名称”概念。我可以想到两种将名称与 socket.io 连接关联的方法:

  1. 如果用户通过 http 登录到您的服务器并且服务器知道该登录的名称,那么您可以从 socket.io 连接访问登录 cookie,并可能使用它来访问服务器端会话对象并获取该名称方法。

  2. 您可以让客户端通过向服务器发送一个告诉它名称的 socket.io 消息来向服务器宣布它的名称。然后,您的服务器可以接收该消息并将 socket.iosocket对象上的自定义属性设置为该名称。注意:这不是特别安全,因为客户端可以宣布它想要的任何名称。如果这对您很重要并且您有登录名,请使用第一个选项。


推荐阅读