删除IPEndpoint绑定

时间:2016-10-20 10:45:52

标签: c#

我有一个小形式(FORM2),就像一个弹出窗口。它将IPAddress作为参数并连接到它。下面的代码显示了连接

myNewUDP.newUDPClient = new UdpClient();
myNewUDP.newEP        = new IPEndPoint(IPAddress.Parse("255.255.255.255"), PORT);
IPEndPoint newBindEP  = new IPEndPoint(IPAddress.Any, PORT);

//Set port to listen to
myNewUDP.newUDPClient.Client.Bind(newBindEP);                                    

当我第一次拨打弹出窗口时,它正确连接到设备。但是,在后续调用期间它会抛出异常"每个套接字地址只允许使用一次"。我该如何解决这个问题?有没有办法关闭IP和端口绑定?

1 个答案:

答案 0 :(得分:2)

连接意味着连接到其他端点。这里你是绑定,这意味着你自己保留protocol / port / ip。删除套接字上的绑定调用Close()

由于您直接在底层套接字上调用UdpClient,因此您有点奇怪地使用Bind()。你可以使用普通的Socket。或者您可以使用实际的UdpClient来处理所有事情。