【发布时间】:2021-06-19 08:59:42
【问题描述】:
在客户端应用程序中,我多次连接到同一个服务器以设置 TCP 套接字。
TcpClient client = new TCPClient();
...
await client.ConnectAsync(host, outport);
看来,我的动态端口已用尽,因为我得到了“Only one usage of each socket address (protocol/network address/port) is normally permitted”。
这条消息有点误导,但我观察到,它总是在使用相同数量的连接后出现。
所以我尝试在不同的端口上运行多个服务器。但是,这并没有什么不同——第一个错误发生在相同数量的端口之后...... 我现在很惊讶:
是否要考虑 Windows 10 上的保留端口范围
- 总共或
- 我们连接到的每个目标端口?
我认为 2) 是答案,但根据我的观察,我不确定了。
【问题讨论】:
-
Fromcmd.exe >Netstat -a.在客户端和服务器上运行。输出列出所有 TCP/UDP 端口和状态。您不能使用已与相同源 IP 和目标 IP 一起使用的端口。
-
您的处理方式正确,对吧?
标签: c# sockets networking tcp tcpclient