mysql - 如何获取加入游戏室的玩家姓名?
问题描述
我正在使用 nodejs、socket.io 和 sql 数据库制作井字游戏来存储结果。问题是我无法获得加入游戏室的两个玩家的名字。我怎样才能做到这一点?
解决方案
您的服务器没有 socket.io 连接的“名称”概念。我可以想到两种将名称与 socket.io 连接关联的方法:
如果用户通过 http 登录到您的服务器并且服务器知道该登录的名称,那么您可以从 socket.io 连接访问登录 cookie,并可能使用它来访问服务器端会话对象并获取该名称方法。
您可以让客户端通过向服务器发送一个告诉它名称的 socket.io 消息来向服务器宣布它的名称。然后,您的服务器可以接收该消息并将 socket.io
socket
对象上的自定义属性设置为该名称。注意:这不是特别安全,因为客户端可以宣布它想要的任何名称。如果这对您很重要并且您有登录名,请使用第一个选项。
推荐阅读
- c++ - Visual Studio 2019:传递包含链引用项目之间的路径
- javascript - 在 onClick 属性中枚举存储在 state 中的函数数组
- angular - 在 Angular 中测试 AsyncValidators - 测试通过但不确定期望语句正在运行/执行
- php - 使用 PHP 在 GCS 上合并 CSV 文件
- batch-file - 如何获取公共 ipv4 而不是 ipv6
- docker - gitlab - 作曲家包的 ci
- visual-studio - ASP.NET Core Web API 控制器不返回正确的数据
- javascript - 使用多个 Bootstrap 折叠元素时定位特定的数据目标按钮?
- linq - LINQ 查询总是返回 Null
- python - 导入带有引号的奇怪格式的 csv