c# 为什么报错?“通常每个套接字地址(协议⼀网络地址⼀端口)只允许使用一次”

2024年11月11日 15:57
有5个网友回答
网友(1):

c# 报错“通常每个套接字地址(协议/网络地址/端口)只允许使用一次”是设置错误造成的,解决方法为:

1、win+r打开运行窗口,输洞物入cmd,按下回车键,进入命令行模式。

2、在命令号中输铅祥入命令并按下回车键: netstat -aon|findstr 5037。

3、找到LISTENING项,记录纳激液后面的3508,该进程占用了端口。

4、输入命令并回车:tasklist /fi "pid eq 3508"。

5、命令行中输入命令杀死进程: taskkill /pid 3508 /f  ,显示如图所示已经终止该进程。

网友(2):

问题就出在udpClient,这个应该也是你实例化的一个new UdpClient(6899),
在if (ConnServer == null)
{
ConnServer = new UdpClient(6899);
}
之前一定要颤蔽先关闭掉udpClient.Close(); 可能是你之前的判断或者关闭的时候出了问题,没能正仔消确关闭,导致再次打开时会茄戚州报错

网友(3):

你的udp开了以后没有正确关掉,端口就被占用了,记得用完了释放

网友(4):

ConnServer.Close();

后面加一句
ConnServer=null;

网友(5):

ConnServer 变成null之前,你做个UdpClient的closed看看