C# udp通讯,新建UdpClient时报错:
Only one usage of each socket address (protocol/network address/port) is normally permitted
代码如下:
UdpClient uc = new UdpClient(9001);
第一次调用正常,第二次调用就报错,看上去是本机的9001端口不能两次监听。
尝试了关闭UdpClient的操作,Close()方法之类的,不起作用。反正就是不能马上进行使用这个9001。
后来找到了办法,因为这个udp是用来发送请求的,所以用哪个端口其实无所谓,修改代码,新建UdpClient时不指定本地端口即可,系统会自动分配一个可用的:
UdpClient uc = new UdpClient();
问题解决。实测,系统随机分配了50021这个端口。