-1

Googleによると、ポートの使用に関する事実は次のとおりです。

よく知られているポートは0から1023までのポートです。登録済みポートは1024から49151までのポートです。ダイナミックポートおよび/またはプライベートポートは49152から65535までのポートです。

65535人を超えるユーザーを1台のサーバーに接続するにはどうすればよいですか。すべての新しいリスニング接続にソケットを提供する必要があるためですか?それで、接続ごとにローカルに新しいポートを作成しませんか?

4

3 に答える 3

2

単一の接続は、IPserver:server_portとIPclient:client_portのペアによって定義されます。server_portは1つだけで固定されており、クライアントはIPclient:client_portによって定義されているとすると、理論上の範囲は2 ^ 48(IPv4の32 + PORTの16)の異なるクライアントになるため、2^48の並列処理が可能になります。単一サーバーへの接続。

制限は、単一のIPから単一のサーバーに2^16を超える接続を設​​定できないことです。

于 2013-01-24T18:12:32.923 に答える
1

リスニングポートへのすべての着信接続は、そのポートを使用します。したがって、同じクライアントホストからすべて65535を超える接続が必要な場合を除いて、問題は存在しません。これは奇妙な要件です。

于 2013-01-24T22:23:07.177 に答える
-1

TCPおよびUDPプロトコルで定義されているように、1つのIPアドレスは2バイトのポートしか保持できません。考えられる回避策の1つは、次のようになります。

  1. サーバーフォークnプロセス、192.168.0でエコーリッスン。(10 + i):9999。(i = 0からn-1)
  2. クライアントは192.168.0.10:9999に接続しようとしますが、失敗した場合(192.168.0.10には使用可能なポートがないため、接続を確立できません)、192.168.0.11:9999などを試行します。

複数のIPを単一のNICにバインドする方法については、次を確認してください:http: //community.spiceworks.com/how_to/show/1782-bind-multiple-ips-to-one-nic-in-linux

于 2013-01-24T13:11:25.137 に答える