好吧,我想知道是否有人可以帮助解决我遇到的问题...。

我想关闭一个套接字,然后从同一端口重新运行。这就是我在做的...

开场时间:

    UdpServer = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
    UdpServerIpEndPoint = new IPEndPoint(IPAddress.Any, 9050);
    UdpEndPoint = (EndPoint)UdpServerIpEndPoint;
    UdpServer.Bind(UdpServerIpEndPoint);

结束:
        UdpServer.Shutdown(SocketShutdown.Both);
        UdpServer.Disconnect(true);
        UdpServer.Close();

在我关闭它之后。并且我尝试使用与上面相同的代码重新连接它,但出现错误:



我在关闭过程中检查了异常,但没有得到任何结果,我猜它们已正确关闭,因此,实际上是什么导致了此问题?请帮忙!

最佳答案

我得到了答案。
我需要在套接字声明后使用它...

socket.SetSocketOption(SocketOptionLevel.Socket,SocketOptionName.ReuseAddress, true);

关于c# - 关闭一个套接字,然后从.net中的同一端口重新打开它,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7942810/

10-10 04:50