当任何玩家发帖时,将个人信息返回给每个玩家

时间:2016-11-14 22:36:52

标签: python websocket flask-socketio

我尝试使用HTML5flaskflask_socketio(webSocket的烧瓶扩展)制作一个简单的游戏。我可以将所有播放器连接到服务器,并将信息返回给每个播放器(这是简单的部分)。我的问题是,当玩家修改某些内容时,如何将个人信息返回给每个玩家(所有人都不是相同的信息)?这可能吗?

1 个答案:

答案 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使用它来将消息定向到特定的客户端。