AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein C# Sofware-Struktur für kontinuierliche UDP-Kommunikation
Thema durchsuchen
Ansicht
Themen-Optionen

Sofware-Struktur für kontinuierliche UDP-Kommunikation

Ein Thema von Matze · begonnen am 25. Mär 2013 · letzter Beitrag vom 25. Mär 2013
 
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#1

Sofware-Struktur für kontinuierliche UDP-Kommunikation

  Alt 25. Mär 2013, 05:40
Hi zusammen,

ich muss auf Nachrichten von einem Gerät warten, das mir per UDP Daten sendet. Teils fortlaufend, teils mit einer Pause.

Gelöst habe ich das bisher so:
Code:
UdpClient Client = new Client(Port);
Client.BeginReceive(new AsyncCallback(UDPRecvCallback), null);

private void UDPRecvCallback(IAsyncResult res)
{
    IPEndPoint RemoteIpEndPoint = new IPEndPoint(IPAddress.Any, 2000);
    byte[] received = Client.EndReceive(res, ref RemoteIpEndPoint);

    // Hier Werte protokollieren und visualisieren

    Client.BeginReceive(new AsyncCallback(recv), null);
}
In der Callback-Funktion "UDPRecvCallback" werden die empfangenen Werte verarbeitet (geparst), protokolliert und visualisiert.

Ich finde das persönlich aber etwas unsauber gelöst.

Ich würde gerne die Werte protokollieren und wenn diese protokolliert sind, die Daten bestätigen und anschließend wird noch ein "Fertig"-Telegramm ausgetauscht. Erst danach ist die Software bereit für ein neues UDP-Telegramm.
Das Gerät sendet mir die UDP-Daten auch so lange fortlaufend, bis die Software entsprechend antwortet und umgekehrt (um sicherzustellen, dass die Daten auch wirklich korrekt verarbeitet wurden):
Code:
Gerät      C#-Software
----------------------
Daten  ->
Daten  ->
...
        <- Daten quittieren
        <- Daten quittieren
        <- Daten quittieren
          ...
Fertig? ->
Fertig? ->
...
        <- Fertig!
        <- Fertig!
         ...

ggf. Wartezeit und das Ganze von vorne

Die Visualisieren sollte vielleicht komplett unabhängig ablaufen.

Was gibt es denn hier für Möglichkeiten, dies flexibel und ordentlich zu programmieren (C# + WPF)?

Grüße
Matze
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:45 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz