我有一个服务,它即将调用 TcpListener 实例上的 Start() 方法。此侦听器正在使用一个不常见的端口,并且不知道任何其他服务都在使用该端口。很少会在一分钟左右的时间内遇到奇怪的错误。一分钟后,服务(在失败时立即重新启动)因以下异常而背靠背崩溃:
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 个客户端连接。我怎么可能用完端口?机器人和端口扫描器?