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這個端口。