我尝试使用HTML5
,flask
和flask_socketio
(webSocket的烧瓶扩展)制作一个简单的游戏。我可以将所有播放器连接到服务器,并将信息返回给每个播放器(这是简单的部分)。我的问题是,当玩家修改某些内容时,如何将个人信息返回给每个玩家(所有人都不是相同的信息)?这可能吗?
答案 0 :(得分:0)
据推测,你的服务器中有一些状态允许你获得一个玩家列表,对吗?
您需要将socket.io会话ID添加到该状态,以便您知道如何处理每个播放器。然后,为了向每个播放器发送更新,您只需迭代它们并将它们的数据发送给它们。例如,像这样:
for player in all_the_players.keys():
emit('player_info', all_the_players[player], room=all_the_players[player]['sid'])
在这个例子中,我有一个全局字典,其中键是播放器名称,值是与播放器特定数据相关的值。播放器数据中的一个项目是sid
,Socket.IO使用它来将消息定向到特定的客户端。