Hi!
Ich habe einen ReceiveThread gemacht, indem er immer wieder die Receive Methode von der UdpClient Klasse aufruft. Ich weis jetzt jedoch nicht, wie ich diesen Thread beenden kann, da er ja bei der Methode "Receive" so lange stehen bleibt, bis er was empfängt. Und nachdem man den Thread ja nicht einfach "killen" kann, weis ich nicht, wie ich diesen beenden soll.
Hat da jemand eine Idee?
Ruf Socket.Close auf, dann beendet Receive mit einer ObjectDisposedException und danach kannst du den Thread einfach auslaufen lassen.
edit:
Sorry, hatte das WebClient überlesen. Laut MSDN hat WebClient keine Receive Methode und die Transportschicht von HTTP ist außerdem TCP, nicht UDP. Erkläre bitte nochmal genauer, was du da machst. Evtl. auch mit Code.
Tut mir leid, meinte natürlich UdpClient...
Ich verstehe nicht, wie ich die close methode aufrufen kann, wenn der gesammte Thread durch die "Receive" Methode blockiert ist.
Die Close musst du natürlich aus einem anderen Thread aufrufen. Mal angenommen du hast einen Button "Disconnect" und der hat einen zugewiesenen ClickHandler. Dann rufst du in diesem Handler Socket.Close auf. Natürlich musst du dafür eine Referenz auf den Socket, bzw. auf das Objekt, welches den Socket beinhaltet, haben.