Thread Client verbindet sich aber: holt nicht immer Daten
(2 answers)
Opened by styx-cc at 2006-07-30 13:26
Nur Kleinigkeiten:
- Das autoflush() muss nur einmal auf dem Socket ausgefuehrt werden (und seit IO::Socket Version 1.18 ist es automatisch gesetzt). - "\n\r" ist falshc. Die Reihenfolge stimmt nicht, es muss CR-LF sein, nicht LF-CR. Und um keine Probleme mit einem IO-Layer zu bekommen, der \n alleine in CR-LF umwandelt, sollte man besser die numerischen Konstanten benutzen ("\015\012") oder gleich die Konstanten/Variablen CRLF resp. $CRLF aus IO::Socket(::INET) importieren: Siehe dazu auch Socket Eine moegliche Fehlerquelle ist aber, dass du zeilenweise vom Socket einliest. Wenn die Gegenstelle ihre Antwort nicht mit einem Zeilenende abschliesst, kehrt dein <$socket> erst beim Abbruch der Verbindung zurueck, d.h. du siehst die Antwort nie. Evtl. arbeitest du besser mit $socket->recv(...). Siehe dazu perldoc -f recv. |