INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

UDP sporadischer Fehlercode 55



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

24.02.2023, 13:12
Beitrag #1

Hubert R. Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 184
Registriert seit: Jul 2011

2019 64bit
2011
DE


Deutschland
UDP sporadischer Fehlercode 55
Hallo LV-Gemeinde,

ich habe das Problem das ich bei einer UDP-Verbindung immer wieder den Fehlercode 55 bei UDP write bekomme.
In meiner Hauptapplikation habe ich versucht den Fehler zu lokalisieren.
Das merkwürdige ist, wenn ich die Probe Sonde auf den Fehler Ausgang von UDP Write setze tritt der Fehler nicht mehr auf.

Dieses kann ich auch beobachten in dem angehängten Beispiel. Mache ich die Sonde weg kommt der Fehler wieder.
Daher habe ich nach dem Fehlerausgang ein Delay Vi angehängt. Mit dem Delay Wert 0.
Macht zwar für mich keinen Sinn aber der sporadische Fehler tritt viel seltener auf.

Als Basis verwende ich in dem unten angehängten Projekt das Beispiel von LV UDP Multicast.
Vielleicht weiß jemand von euch was ich falsch mache bzw. wie ich das Problem lösen kann?

Betrachtungs Zeitraum eine Stunde:
Ohne delay und Sonde sehr häufig
Mit delay ohne Sonde selten
Mit Sonde trat der Fehler nicht auf.

Ungeachtet dessen wenn währen einer Übertragung ein Fehler auftritt werden die Messdaten in Ihrer Gesamtheit unbrauchbar.
Wie würdet Ihr den UDP-Empfänger automatisch wieder neu aufsetzen?
Ich habe mir gedacht, dass ich für jedes einzelne Frame eine Header Info mit Sende.
Zum Beispiel eine Frame Nummer.
Sollte im Empfänger die Frame Nummer nicht mit der erwarteten Nummer ankommen
würde ich die alten Datensätze löschen und die Verbindung eventuell neu aufsetzen bzw. auf das erste Frame warten?

Gruß Hubert


Angehängte Datei(en)
0.0 .zip  UDP_Test.zip (Größe: 299,88 KB / Downloads: 90)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
24.02.2023, 14:19
Beitrag #2

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: UDP sporadischer Fehlercode 55
Hallo Hubert,

bei einer Simulation per localhost kann ich deinen Fehlercode 55 nicht nachvollziehen.

Deine Idee mit einem Header, der eine Paketnummer enthält, sollest du auf jeden Fall umsetzen. Nur so bekommst du eine Synchronisation zwischen Sender und Empfänger hin. Meine Vorschlag hierzu: Schleifenzähler (U32) zu String flatten (sind dann 4 Byte) und dem Paket voranstellen. Das letzte Paket bekommt als besonderer Marker den Wert 0xFFFF, dann muss der Empfänger auch nicht die Anzahl und Größe der Daten kennen.

Und hier noch eine Vereinfachung deines Paketzerteilens:
   

Gruß,
Jens

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
24.02.2023, 14:29 (Dieser Beitrag wurde zuletzt bearbeitet: 24.02.2023 14:30 von GerdW.)
Beitrag #3

GerdW Offline
______________
LVF-Team

Beiträge: 17.399
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: UDP sporadischer Fehlercode 55
Hallo Hubert,

Zitat:ich habe das Problem das ich bei einer UDP-Verbindung immer wieder den Fehlercode 55 bei UDP write bekomme.
= "Network operation in progress"…

Kann es sein, dass du da eine Queue vollschreibst, die nicht schnell genug abgearbeitet wird? Dein Sender ballert ja auch einige UDP-Messages (quasi ungebremst) raus!?
Kannst du in einem solchen Fall nicht einfach etwas länger arbeiten und dann das Paket nochmals versenden?

Du könntest aber noch an der Effizienz deiner Routinen arbeiten, z.B.:
   
Da benötigt man kein Shiftregister!

Ebenso in der Sendeschleife: das ständige String-Verkleinern ist doch unnötig/aufwändig - einfach mittels dem "i" den Offset im String bestimmen und 512 Zeichen aus dem String holen und senden:
   

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
24.02.2023, 15:25 (Dieser Beitrag wurde zuletzt bearbeitet: 24.02.2023 15:26 von Hubert R..)
Beitrag #4

Hubert R. Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 184
Registriert seit: Jul 2011

2019 64bit
2011
DE


Deutschland
RE: UDP sporadischer Fehlercode 55
@Jens und Gerd

Erst mal danke für euer Feedback.
Ich werden morgen die guten Vorschläge von euch einarbeiten und den Frame Count hinzufügen.

@Gerd

In deinem ersten Bild verwendest du zwischen der For Schleife und den String to Variant eine Funktion die ich nicht kenne.

Mit welcher Funktion wandelst das String Array in einen String bzw. wo finde ich die?

Schon mal Danke im voraus.

Gruß Hubert
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
25.02.2023, 11:37
Beitrag #5

GerdW Offline
______________
LVF-Team

Beiträge: 17.399
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: UDP sporadischer Fehlercode 55
Hallo Hubert,

nimm ConcatString...

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  sporadischer GPIB Absturz kasiii 10 8.234 10.09.2013 11:45
Letzter Beitrag: GerdW
  Nicht definierte FTP-Fehlercode Matze 5 4.369 17.09.2010 11:00
Letzter Beitrag: rolfk
  Fehlercode 1 - Element aus Queue entfernen Tugbay 9 9.377 19.08.2010 11:27
Letzter Beitrag: Tugbay

Gehe zu: