2016-11-14 13 views
0

HTML5,flaskflask_socketio(webSocketのフラスコ拡張)を使用して簡単なゲームを作ろうとしています。私はすべてのプレーヤーをサーバーに接続し、それぞれに情報を返すことができます(これは簡単な部分です)。私の質問は、プレイヤーが何かを変更した場合、どのプレイヤーに個人情報を返すのですか(すべてのプレイヤーの情報は同じではありません)。これは可能ですか?投稿者が投稿をしたときに個人の情報を各プレイヤーに返します。

答えて

0

おそらくあなたはプレイヤーのリストを得ることを可能にするあなたのサーバーのいくつかの状態を持っていますか?

各プレーヤーに対処する方法を知るためには、socket.ioセッションIDをその状態に追加する必要があります。それで、各プレイヤーにアップデートを送信するには、そのプレイヤーを反復してデータを送信するだけです。例えば、このような、何か:

for player in all_the_players.keys(): 
    emit('player_info', all_the_players[player], room=all_the_players[player]['sid']) 

この例では、私はキーがプレイヤーの名前で、値がプレイヤー固有のデータとdictsあるグローバル辞書を持っています。プレーヤーデータ内のアイテムの1つはsidです。これはSocket.IOが特定のクライアントにメッセージを転送するために使用されます。

関連する問題