Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
UdpClient Receive Thread beenden
Apfelschorle
myCSharp.de - Member



Dabei seit:
Beiträge: 16
Herkunft: Entenhausen

Themenstarter:

UdpClient Receive Thread beenden

beantworten | zitieren | melden

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?
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Apfelschorle am .
private Nachricht | Beiträge des Benutzers
Corpsegrinder
myCSharp.de - Member



Dabei seit:
Beiträge: 401

beantworten | zitieren | melden

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.
Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von Corpsegrinder am .
private Nachricht | Beiträge des Benutzers
Apfelschorle
myCSharp.de - Member



Dabei seit:
Beiträge: 16
Herkunft: Entenhausen

Themenstarter:

beantworten | zitieren | melden

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.
Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von Apfelschorle am .
private Nachricht | Beiträge des Benutzers
Corpsegrinder
myCSharp.de - Member



Dabei seit:
Beiträge: 401

beantworten | zitieren | melden

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.
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Corpsegrinder am .
private Nachricht | Beiträge des Benutzers
Apfelschorle
myCSharp.de - Member



Dabei seit:
Beiträge: 16
Herkunft: Entenhausen

Themenstarter:

beantworten | zitieren | melden

Funktioniert, Vielen Dank =D
private Nachricht | Beiträge des Benutzers
Corpsegrinder
myCSharp.de - Member



Dabei seit:
Beiträge: 401

beantworten | zitieren | melden

Gerne ;-)
private Nachricht | Beiträge des Benutzers