2

ソケット接続に問題があります。

クライアントとサーバーアプリケーションがあり、サーバーアプリケーションは特定のポートでクライアントをリッスンします。

500のクライアントが接続され、サーバーにデータを送信して処理され、すべてが正常に機能しています。

特定の時間に、私はすべてのクライアントを閉じ、サーバーも閉じました。10分後にサーバーを再起動し、2分後にクライアントを再起動すると、再接続できるクライアントはごくわずか(5〜15)です。

すべてのクライアントが再接続しない理由を教えてください。

mainSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
endpoint = new IPEndPoint(IPAddress.Any, int.Parse(txt_server_port.Text));
mainSocket.Bind(endpoint);
mainSocket.Listen(100);
mainSocket.BeginAccept(new AsyncCallback(ConnetedClient), mainSocket);
4

1 に答える 1

0

すべてのクライアントが一緒に接続しようとしている場合は、リスナーのバックログがいっぱいになっている可能性があります。メソッド
に渡されるパラメーターでバックログを増やすことができます。Listen

于 2010-09-07T07:58:33.613 に答える