3

私は Websocket を初めて使用します。Websocket について読んでいる間、いくつかの疑問に対する答えを見つけることができませんでした。誰かがそれを明確にしてくれれば幸いです。

  1. Websocket は、特定のクライアントに送信するのではなく、接続されているすべてのクライアントにのみデータをブロードキャストしますか? 私が試した例(主にチャットアプリ)が何であれ、それらはすべてのクライアントにデータを送信します。これを変更することは可能ですか?

  2. NAT 上 (ルーターの背後) にあるクライアントでの動作。

  3. クライアントとサーバーの接続は常に開いたままなので、多数の接続でサーバーのパフォーマンスにどのような影響がありますか?

  4. すべてのクライアントにリアルタイムの更新を取得させたいので、すべてのクライアントをサーバーに接続する必要があります。クライアントの接続制限をどのように処理すればよいですか?

注:- 私のクライアントは Web ブラウザではなく、デスクトップ アプリケーションです。

4

1 に答える 1

3
  1. No, websocket is not only for broadcasting. You send messages to specific clients, when you broadcast you just send the same message to all connected clients, but you can send different messages to different clients, for example a game session.

  2. The clients connect to the server and initialise the connections, so NAT is not a problem.

  3. It's good to use a scalable server, e.g. an event driven server (e.g. Node.js) that doesn't use a seperate thread for each connection, or an erlang server with lightweight processes (a good choice for a game server).

  4. This should not be a problem if you use a good server OS (e.g. Linux), but may be a limitation if your server uses a desktop version of Windows (e.g. may be limited to 200 connections).

于 2012-12-20T07:47:48.793 に答える