2012-03-28 6 views
3

私はgevent-socketioを見ていて、特定のユーザーにどのようにブロードキャストするのだろうと思っていました。 userYがデータを送信したときにuserXに通知を送信したいとします。この例では、チャットルームのすべてのユーザーにメッセージをブロードキャストしましたが、特定のユーザーにブロードキャストおよびイベントの方法を把握することはできません。カスタムの放送ミックスを作成する必要はありますか?Pyramidとsocketioで特定のユーザーにイベントをブロードキャストする方法

答えて

2

特別な放送局または特別な部屋を実装する場合は、独自のMixinを実装する必要があります。 「セッション」属性を名前空間とソケットオブジェクトに追加しました。必要な情報(辞書)を設定できます。私は、例えばself.session['nickname']というニックネームを設定し、次にすべてのソケットをループするbroadcast_event()(BroadcastMixin上)に似た関数を持って、ソケットがその特定のユーザに属しているかどうかを確認するセッションをチェックする、そうであればパケットを送信する。

the codeをご覧ください。それは非常に使いやすいです。 Socket/Namespaceの関係を理解するだけです。

+0

例を書いてくれてありがとう、アレクサンドルさん。私はそれを見てみましょう。これまでのところ、このプロジェクトに取り組んだすべての作業のおかげで、実装が本当に簡単でした。 – webjunkie

関連する問題