IO::Socket::INET Abbruch der Nachricht bei Zeilenwechsel
coolblue
- perl
Halli hallo,
ein kleines Problemchen plagt mich.
Ich habe mir eine Client-Server Umgebung programmiert und hole mir wie ein paar Daten von einem Server ab.
Mein Problem ist nun, dass die Nachricht vom Server nur bis zu einem Zeilenwechsel übertragen wird.
Simples Beispiel:
server
print $client "hallo,\nwie geht es dir?\n";
client
$antwort=($socket);
print "$antwort\n";
hallo,
Die Antwort beinhaltet nur das "hallo," bis zum Zeilenwechsel, der Rest wird irgendwie verschluckt. Gibt es eine Möglichkeit, die ganze Nachricht mit Zeilenwechsel zu übertragen oder muss ich ohne Zeilenwechsel arbeiten?
Wäre super wenn mir jemand helfen kann!
Danke im Vorraus.
Gruß,
coolblue
Halihallo coolblue
Mein Problem ist nun, dass die Nachricht vom Server nur bis zu einem Zeilenwechsel übertragen wird.
Nicht wirklich. Du liest jedoch nur die erste Zeile aus. Das ist das
Problem...
server
print $client "hallo,\nwie geht es dir?\n";client
$antwort=($socket);
print "$antwort\n";
while (<$socket>) {
print $antwort;
}
Die Antwort beinhaltet nur das "hallo," bis zum Zeilenwechsel, der Rest wird irgendwie verschluckt. Gibt es eine Möglichkeit, die ganze Nachricht mit Zeilenwechsel zu übertragen oder muss ich ohne Zeilenwechsel arbeiten?
Nein, du musst $socket nur wie ein (File-)Handle behandeln, dann
klappt alles wie es soll.
Viele Grüsse
Philipp
hallo
jo super, hat geklappt!