C#報錯:Only one usage of each socket address (protocol/network address/port) is normally permitted

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章