我尝试使用websockets和socket.io制作简单的多人游戏。
我们已经掌握了大部分功能,现在我们的问题是找出获奖玩家是谁。
因此,我们现在尝试实施的解决方案是在运行时获取套接字,当玩家死亡时,他们会向服务器发送消息。接收此消息的服务器会添加一个“已故”的属性。到插座。所以当玩家死亡时会设置socket.dead = true
。
然后我们检查连接套接字列表(动态获得)以查看是否只剩下一个剩余的播放器(通过检查是否定义了socket.dead)。我们意识到的一件事是连接套接字的socket.ids实际上发生了变化 - 这对我们来说是个问题...
问题是套接字ID何时何地发生变化,我们如何检测这些变化以便更新我们的游戏数据?
由于
答案 0 :(得分:0)
您不应该检查套接字ID,而应该在每次连接到Socket.IO(socket.user = username
)时对用户进行身份验证。
然后,您可以检查他们的用户名,而不是检查" alive"的玩家的ID。
更多关于使用Express& amp; Socket.IO在这里:http://www.danielbaulig.de/socket-ioexpress/