TcpListenerインスタンスでStart()メソッドを呼び出すサービスがあります。このリスナーは、一般的ではなく、他のサービスによって使用されることが知られていないポートを使用しています。ごくまれに、1分間程度の間、奇妙なエラーが発生します。しばらくの間、サービス(失敗するとすぐに再起動します)は、次の例外で連続してクラッシュします。
SocketException
at System.Net.Sockets.Socket.DoBind(System.Net.EndPoint, System.Net.SocketAddress)
at System.Net.Sockets.Socket.Bind(System.Net.EndPoint)
at System.Net.Sockets.TcpListener.Start(Int32)
at MyTestServer.Server.StartListening()
次のような例外メッセージがあります。
Only one usage of each socket address (protocol/network address/port) is normally permitted
この記事は、私がポートの枯渇を経験しており、WinSockのタイムアウトとポート範囲の値を変更するためにレジストリを微調整する必要があることを示唆しています。これはすべて問題ありませんが、接続しているクライアントは50〜100台しかありません(または接続する予定です)。どうすればポートが不足する可能性がありますか?ボットとポートスキャナー?