1

Vert.X を使用して、SockJS を利用したプライベート チャットのアプリを構築したいと考えています。SockJS は単純な API であり、多重化は解決策ではないように思われるため、すぐに SockJS の制限に遭遇しました (参照: https://groups.google.com/d/topic/sockjs/cO7lnH07RCE/discussion )。

EventBus Bridge は適切なツールでしょうか? 各クライアントは一意のアドレスにバインドされ、VertX サーバーはそれらに応答するか、認識されない場合はデフォルトで無視できますか?

それが EventBus Bridge の意図ですか?

SockJSBridge の開始後に許可ルールを変更できますか?

ランダム化されたトークン (UUID?) を受信ルールの「一致」に追加して、セッションがどのように機能するかをシミュレートすることもできます。

これは合理的ですか?またはこれは乱暴に使用されていますか?

4

1 に答える 1

2

EventBusBridge により、クライアント (SockJS 経由のブラウザー) は EventBus 上の他のサブスクライバーと通信できます。つまり、サーバー側サービスまたは他のクライアントでメッセージを直接送信できます。

ブリッジの許可/ファイアウォール ルールを動的に変更することはできません。しかし、正規表現と UUID を使用すると、チャットを非常に簡単に実装できるはずです。例を挙げましょう:

サーバーはアドレスでリッスンしますchat-server。ブリッジの送信設定は に設定されてい{ "address_re" : "chat-clients\..*" }ます。すべてのクライアントはハンドラーを登録chat-clients.<some_UUID_for_this_client>し、クライアント宛てのメッセージを登録済みのアドレスに送信するようにサーバーに指示します。

リファレンスとして使用できるチャット モジュールを Scalaで作成しました。

于 2013-04-11T11:47:18.343 に答える