Der Chatclient
Bestandteile des Chatclients Der Chatclient startet zwei Prozesse: Der ClientSendeProzess liest Eingaben der Benutzerin von der Tastatur und sendet sie an den Server, wo sie vom ClientAntwortProzess gemäß dem Serverprotokoll verarbeitet werden. Der ClientEmpfangsProzess nimmt Nachrichten entgegen, die der ClientAntwortProzess auf dem Server sendet, und gibt sie auf der Konsole aus. Zwei verschiedene Prozesse sind nötig, damit die Ein- und Ausgabe auch unabhängig voneinander funktionieren.
Clientprotokoll Komplizierte Clients benötigen ein eigenes Clientprotokoll, um die Nachrichten des Servers zu verarbeiten und vernünftig darauf zu reagieren. Bei unserem einfachen Chatsystem muss der Client nur in einem einzigen Punkt auf das Serverprotokoll eingehen, nämlich beim Beenden des Chats. Das geht so: Server- protokoll ClientAntwort- Prozess ClientSende- Prozess ClientEmpfangs- Prozess "quit" "quit" "Bye." "Bye." Wenn der ClientSendeProzess „quit“ sendet, beendet er sich selbst. Auf die Antwort „Bye.“ des Serverprotokolls hin beenden sich der ClientEmpfangsprozess und der ClientAntwortprozess (und mit ihm das Serverprotokoll).
Schließen des Clientsockets Der Socket auf der Clientseite wird dabei vom ClientEmpfangsProzess geschlossen, weil er sich als zweiter (und letzter) beendet.