Hallo,
ich habe ein identisches verhalten.
Konnte das "Problem" nachgestellt werden?
Ist das "fork" tatsächlich zu viel?
Frage: wäre es möglich ein zusätzlichen Check einzubauen, welcher den via socat gesendeten String auf zusätzliche Zeilenumbrüche überprüft und ggf. entfernt:
Code: Alles auswählen
######################Mit socat##############################
<leer>
12:53 28.10.21
<leer>
02A
<leer>
Schleife A Testruf mit 37 Zeichen, Ü, ü, Ö, ö, Ä, ä, ß
<leer>
######################Ohne socat, direkt am PC##############################
<leer>
08:27 25.10.21
02A
Schleife A Testruf mit 37 Zeichen, Ü, ü, Ö, ö, Ä, ä, ß
<leer>
EDIT: Wenn ich das "fork" weglasse, und BosMon neu starte (oder den Kanal stoppe und wieder starte), kann ich keine Verbindung aufbauen, bis ich socat neu starte. Ist das so korrekt?
EDIT2: ICh sehe grade in der Doku zu 1.5 steht "fork" dabei. Also sollte es korrekt sein und ich kann das Verhalten auch reproduzieren.
EDIT3 und damit hoffentlich das letzte mal:
Die Lösung müsste folgendes sein:
Code: Alles auswählen
I think you want to modify the socket stream to translate \n (line feed) to CRLF (Carriage return & line feed). Doing info socat produces detailed information which includes this modifier:
crnl Converts the default line termination character NL ('\n', 0x0a)
to/from CRNL ("\r\n", 0x0d0a) when writing/reading on this chan-
nel (example). Note: socat simply strips all CR characters.
Also mein Aufruf lautet nun:
Code: Alles auswählen
OPTIONS="/dev/ttyUSB0,raw,echo=0,b9600 tcp-l:6174,reuseaddr,fork,crnl"
Damit sehe ich im Logfile im Notepad++ mit "Alle Zeichen anzeigen"
<CR><LF> anstatt nur <LF>
Hoffe ich habe es verständlich erklärt.
@Thimo: Kannst du das bestätigen?
Viele Grüße
Fabian