Ich habe den Eindruck, die Reihenfolge stimmt nicht.
Zuerst wird das Server-Prg gestartet. Dieses geht mit accept() in den Ruhezustand.
Danach wird der Client gestartet und kann etwas senden. Danach erwacht das Server-Prg wieder und kann etwas antworten, was der Client wiederum auslesen kann.
So müsste es klappen.