[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Blatt 8
Hallo!
Noch zwei Tips zu Blatt 8:
- Viele Chat-Clients scheinen Probleme mit dem Server zu haben, weil
die Zeilentrenner nicht richtig sind. Im Protokoll (auf dem Socket)
ist ein Kommando durch ein "\r\n" (CRLF) abgeschlossen, und der
Server wartet solange mit der Antwort, bis eine komplette Zeile
eingelesen ist! D.h. wenn niemals ein CRLF kommt, antwortet er
scheinbar gar nicht auf Kommandos, weil die Protokollzeile (und
damit das Kommando) ja noch nicht abgeschlossen ist...
- Wenn nicht klar ist, ob bzw. welche Daten der Client oder Server
liest oder schreibt, ist es in dem meisten Faellen sehr hilfreich,
mit dem "strace" Kommando nachzuschauen, was bei den read() und
write() Aufrufen uebergeben wird (das hat Juergen ja schon des
oefteren in der Vorlesung gezeigt).
Am einfachsten kann man dazu ein weiteres Fenster aufmachen, und
dort (auf demselben Rechner wie Client oder Server) "strace -p PID"
eingeben, wobei "PID" die Prozess-ID des zu beobachtenden Prozesses
sein sollte. Dann kann man dort die Aufrufe verfolgen, die das
Programm gerade durchfuehrt.
Und ich kann nur immer wieder darauf hinweisen, bei Problemen Fragen
(an mich, einen der Tutoren oder die Mailingliste) zu stellen, anstatt
stundenlang vor dem Rechner ueber eine Loesung zu brueten.
Gruss
Elmar.
----------------------------------------------------------------------
Today is Pungenday, the 61st day of The Aftermath in the YOLD 3168
----------------------------------------------------------------------
141-GM: "FIVE...FOUR...THREE...TWO..."
PC: "I look for the light switch."
(From the Canonical List of Famous Last Words)
----------------------------------------------------------------------