Thread was ist an der syntax falsch?? (61 answers)
Opened by grey1987 at 2007-11-26 12:25

Linuxer
 2007-11-27 12:36
#103105 #103105
User since
2006-01-27
3875 Artikel
HausmeisterIn

user image
Bei $max_buf_size == 3 wird NACK nicht komplett gelesen, sondern nur "NAC"...
Das if/elsif/else Konstrukt arbeitet korrekt.

Gibt es denn nach dem ACK oder NACK kein Steuerzeichen, dass kennzeichnet, dass diese Übertragung beendet ist? Irgendwie muss doch vom Server deutlich gemacht werden, dass die Status-Meldung beendet ist.

Vielleicht hilft das hier als Ansatz weiter:

Code (perl): (dl )
1
2
3
4
5
6
while ( $socket->recv( $char, 1 ) ) {
   # Abbruch wenn das gelesene ein Whitespace-Zeichen ist: Zeichenklasse [\ \t\r\n\f]
   # also Leerzeichen, Tab, Umbruch, vert. Tab
   last if ( $char =~ m/^\s$/ );
   $buffer += $char;
}


Ansonsten müsste man die Server-Doku konsultieren, wie die Statusmeldungen formatiert sind. Oder man schneidet den Netzwerkverkehr mal mit und schaut nach, was in den Paketen drinsteht...
meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen!

View full thread was ist an der syntax falsch??