Hallo zusammen,
warum kann ich eigentlich bei der einer der Überladungen der UDP-Send-Methode den IPEndPoint mit angeben?
Diesen habe ich doch schon bei der Connect-Methode festgelegt.
Danke und Gruß
Frank
Siehe Hinweis Text unten.
Wenn du bereits eine Verbindung mit Connect aufgebaut hast, dann darfst du diese Methode nicht aurufen.
Diese wirft dann eine SocketException!
Nachtrag:
Die Doku und der Reference Code scheinen hier nicht zu stimmen bzw. ist der Hinweis Text nicht korrekt.
Hier wird eine InvalidOperationException geworfen, wenn über Connect bereits eine Verbindung besteht.
Steht auch so bei den Ausnahmen der Methode.
T-Virus
Developer, Developer, Developer, Developer....
99 little bugs in the code, 99 little bugs. Take one down, patch it around, 117 little bugs in the code.
Das liegt am Unterschied zwischen Verbindungslosem und Verbindungsorientiertem Protokoll.
UDP ist generell ein Verbindungsloses Protokoll (heißt, es existiert keine logische Verbindung zwischen zwei Sockets) und wenn du sendest ist es dir egal, ob es jemand am anderen Ende liest - das bekommst du einfach nicht mit.
Deswegen kann man mit einem UDPClient einfach auch dauernd an andere Endpunkte senden.
Mit einem TCPClient geht das nicht, denn der braucht immer erst eine Verbindung.