2016-12-24 1 views
0

ServerSocket(int port, int backlog)に従って、backlogはキューの最大長を示します。ServerSocket(int port、int backlog)による "backlog"のテストに問題がある

次のコードServerSocket serverSocket = new ServerSocket(8001, 1);を使用してbacklogを1とした単純なサーバーソケットを作成しましたが、2つ以上のクライアントでこのサーバーに接続しようとすると、接続が拒否されるという例外が発生します。

しかし、1つ以上のクライアントからこのサーバーに接続しようとしたとき、3つのクライアントを並列に接続しても、すべてがサーバーと通信できました。

何か不足していますか?

答えて

0

バックログパラメータは、プラットフォームによって上下に調整できます。実際の最小バックログは、BSD 4.3では当初は5でしたが、現在、一部のプラットフォームでは50以上500になります。使用される実際の値を決定するAPIはありません。

+0

この 'ServerSocket(int port、int backlog)'のコンストラクタは 'ServerSocket(int port)'よりも優れているわけではありません。 'backlog' JVMでは、リスニングポート? – hagrawal

+0

それは私が言ったことを意味し、 'の後の部分は*非sequit *です。 – EJP

関連する問題