0

私は WebSockets から始めています。演習として既にチャット Web アプリケーションを作成しましたが、次のようになりました。すべてのユーザーは、チャット ルームに到着したときに WebSocket 接続を開いており、新しいメッセージが利用可能になると、各ユーザーにプッシュするだけです。その後、javaScript を使用してさまざまなメッセージが表示されます。

ここで、1 対 1 のチャットを作成して、演習をさらに進めようとしています。基本的に、固有のチャット ルームではなく、プライベート チャットの会話が行われます。ユーザーは、同じページからさまざまな人と会話できる必要があります。(Google チャットや Facebook チャットなど)。そうする方法を考えた後、私は2つの解決策にたどり着きました:

  • 複数の WebSocket 接続を開きます。(もし可能なら)
  • 同じ接続を使用して、開いているすべての会話を処理します。基本的に、クライアントにプッシュされる各メッセージには、それがどの会話に属しているかを示すフィールドがあり、javaScript が適切な会話の下で各メッセージの表示を処理します。

私には、2 番目の解決策が最初の解決策よりも優れているように思えます。だから、私の質問は次のとおりです。

1- Will this solution have any performance problems? (Lost messages...)
2- Is there any other-better way of doing this?
4

1 に答える 1

1

進むべき道は、この通信を行うために使用しているフレームワークによって異なります (IMHO)。私 (あなた) は、1 つの接続を使用してすべての通信を処理する多重化 (2 番目のオプション) を使用します。

選択したフレームワークがパブリッシュ/サブスクライブと多重化をサポートしていると思いますか?

もしよろしければ、簡単な例をご紹介します。

よろしく Uffe、チーム XSockets

于 2012-10-24T07:05:10.747 に答える