Einen socket schließen und dann öffnen Sie es erneut, aus den gleichen port .net

Gut, ich Frage mich, ob jemand helfen kann bei einem problem, dass ich Begegnung....

Ich möchte einen socket schließen und dann erneut aus dem gleichen port. Dies ist, was ich Tue...

Eröffnung:

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

closeing:

        UdpServer.Shutdown(SocketShutdown.Both);
        UdpServer.Disconnect(true);
        UdpServer.Close();

Nachdem ich es schließen. und ich versuche, um es wieder mit dem gleichen code wie oben, bekomme ich Fehler:

Zusätzliche Informationen: Nur ein jede Socketadresse
(protocol/network address/port) is normally permitted

Überprüfte ich für die Ausnahme beim schließen, aber habe ich nicht bekommen, ich vermutete, Sie waren ordnungsgemäß geschlossen, so dass es eigentlich, was dieses problem verursacht? Bitte um Hilfe!!

  • Können Sie fügen Sie Ihrem code, wo Sie versuchen, wieder zu verbinden?
  • es ist die gleiche wie oben erwähnt.... Eigentlich unter einem thread. Ich halt den thread, dann socket geschlossen. und dann drück ich verbinden und der thread beginnt mit den gleichen Einstellungen
  • Tun Sie wirklich ausführen UdpServer.Disconnect(true) erfolgreich? MSDN sagt, dass Disconnect() kann verwendet werden, mit Verbindungs-orientierte Protokolle. UDP ist ein verbindungsloses Protokoll.
Schreibe einen Kommentar