[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)
----------------------------------------------------------------------