Ich versuche, eine einfache UDP Server zu machen, indem man UdpClient mit es funktioniert ok mit der ersten Verbindung, aber wenn eine andere IP sendet etwas auf den gleichen Port, da wird ignoriert zuhört, so weit ich weiß, ist die Buchse an einem anderen Remote-IP verbundenFehler 10057 beim Versuch zu trennen UdpClient
MyUdpClient.Connect(RemoteIpEndPoint)
MyUdpClient.Send(Encoding.ASCII.GetBytes(ACK), ACK.Length)
So, nachdem das ACK senden füge ich eine Linie von dem Remote-Client zu trennen, um zu halten
hörenMyUdpClient.Client.Disconnect(True)
Aber ich Fehler bekommen 10057. "Eine Anfrage zum Senden oder Empfangen von Daten war nicht zulässig, da der Socket nicht verbunden ist ....“
Wich ist seltsam, weil der Remote-Client empfängt die alle Daten OK, verstehe ich nicht, was geschieht, was zu senden versucht?
Es gibt eine Möglichkeit, zu wissen, wann ich aus dem aktuellen Remote-Client trennen kann?
Was ich tun muß, ist ein ACK zu jedem Paket zu beantworten und Zufallsdaten zum letzten Remote-IP, die etwas an den Server zu senden.
ich mehr Code haben, ist aber ein bisschen zu lang, wenn Sie es brauchen lass es mich wissen.
Ich weiß das, aber dann, warum die Methoden ** Connect ** und ** Disconnect ** innerhalb ** UdpClient ** existieren? –
Wahrscheinlich, weil sie in der Basisklasse definiert sind (alle diese socket-type-Klassen stammen normalerweise von einer generischen Socket-Klasse). Die Tatsache, dass diese Funktionen existieren, bedeutet nicht immer, dass sie etwas Nützliches tun können. – JvO