Gleichzeitige Ein- und Ausgabe in einem Chatprogram
-
Hi,
ich versuche in c++ unter Debian zwei Programme zu schreiben mit denen man unteinander chaten kann.
Die Verbindung erfolgt mittels sockets, und Ein- und Ausgabe mittels ncurses auf dem Terminal. Jedes Programm hat dann zwei Prozesse, einer wartet auf die Eingabe (mvaddstr()) und sendet(send()) diese dann zum Chatpartner, der andere Prozess wartet auf Nachrichten vom Chatpartner und gibt sie auf dem Bildschirm aus(mvaddstr()).
Um die "gleichzeitige" Ein- und Ausgabe zu ermöglichen, dachte ich mir, dass der Empfangsausgabe-prozess bei einer ankomenden Nachricht den Eingabesende-prozess anhält(19), den curser an die richtige Stelle verschiebt, die Nachricht ausgibt, den curser an die alte Stelle verschiebt, und den Eingabesendeprozess fortsetzt. Funktioniert hat es nicht, und ich wolte fragen wie man diese Curservariierung realisieren kann bzw. ob es einen besseren Ansatz dafür gibt.