2023-12-09 17:25:48 发布
网友
我尝试使用HTML5、flask和flask_socketio(webSocket的flask扩展)来制作一个简单的游戏。我可以将所有播放器连接到服务器,并向每个播放器返回信息(这是最简单的部分)。我的问题是,当一个玩家修改某些东西时,我如何将个人信息返回给每个玩家(不是所有玩家都有相同的信息)?这是可能的吗
HTML5
flask
flask_socketio
大概您的服务器中有一些状态,允许您获取玩家列表,对吗
您需要将socket.io会话id添加到该状态,以便知道如何为每个播放器寻址。因此,要向每个玩家发送更新,您只需对其进行迭代并向其发送数据。例如,类似这样的内容:
for player in all_the_players.keys(): emit('player_info', all_the_players[player], room=all_the_players[player]['sid'])
在这个例子中,我有一个全局dict,其中键是播放器名称,值是带有播放器特定数据的dict。播放器数据中的一项是sid,Socket.IO使用它将消息定向到特定的客户端
sid
大概您的服务器中有一些状态,允许您获取玩家列表,对吗
您需要将socket.io会话id添加到该状态,以便知道如何为每个播放器寻址。因此,要向每个玩家发送更新,您只需对其进行迭代并向其发送数据。例如,类似这样的内容:
在这个例子中,我有一个全局dict,其中键是播放器名称,值是带有播放器特定数据的dict。播放器数据中的一项是
sid
,Socket.IO使用它将消息定向到特定的客户端相关问题 更多 >
编程相关推荐