vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
TOP-Angebot: 17 bzw. 24 Entwickler-Vollversionen zum unschlagbaren Preis!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Re: Stoppen des asynchronen UDP Listener 
Autor: Preisser
Datum: 14.10.13 00:36

Hallo,

es ist zwar ungewöhnlich, dass eine ObjectDisposedException in so einem Fall geworfen wird (die blockierende Receive-Methode wirft z.B. eine SocketException, erst danach würde ich auch eine ObjectDisposedException erwarten), aber da die ObjectDisposedException explizit auch bei den Receive-Methoden angegeben ist, wird das denke ich schon so passen. Du musst in dem Fall nur eben die ObjectDisposedException beim Aufruf der EndReceive-Methode abfangen.

Seit .Net 4.5 kann man übrigens auch die Async- und Await-Keywords benutzen, womit das Schreiben von asynchronem Code nochmal einfacher wird:

    Private udpEndpoint As UdpClient
 
    Private Sub StartEndpoint()
 
        Dim netIP As IPEndPoint = New IPEndPoint(IPAddress.Any, 514)
        udpEndpoint = New UdpClient(netIP)
        ReceiveDataAsync(udpEndpoint)
 
    End Sub
 
    Private Sub StopEndpoint()
        udpEndpoint.Close()
    End Sub
 
    Private Async Sub ReceiveDataAsync(udp As UdpClient)
 
        While True
            'Daten asynchron empfangen
            Dim result As UdpReceiveResult
            Try
                result = Await udp.ReceiveAsync()
            Catch ex As ObjectDisposedException
                ' Socket wurde geschlossen.
                Return
            End Try
 
            Dim byteData As Byte() = result.Buffer
            Dim strData As String = Encoding.ASCII.GetString(byteData)
            WriteLog(strData)
        End While
 
    End Sub
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Stoppen des asynchronen UDP Listener2.665Xcabur13.10.13 23:01
Re: Stoppen des asynchronen UDP Listener2.418Preisser14.10.13 00:36
Re: Stoppen des asynchronen UDP Listener2.067Xcabur14.10.13 23:18

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel