GTK und Sockets blockieren einander !
-
Hallo, ich hab eine kleine grafische Oberfläche in mit GTK erstellt und arbeite dort auch mit sockets.
Mein Problem ist folgendes:
Das Socket wartet natürlich auf verbindungsanfragen, also wenn ich es vor der gtk_Main() (Hauptschleife für GTK) starte wird gtk_main() nicht aufgerufen aber das Socket läuft und ich kann mit ihm kommunizieren.
Starte ich das Socket nach gtk_main() blockiert natürlich gtk_main() mein Socket, Fenster kommt Socket geht aber nicht.Ich gehe mal davon aus das ich mit Nebenläufigkeit z.B. mit fork() arbeiten muss oder ?
-
Dieser Thread wurde von Moderator/in SeppJ aus dem Forum C (C89 und C99) in das Forum Andere GUIs - Qt, GTK+, wxWidgets verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Für die komplizierten Unix-Pipes gibt es für GTK+ einen einfachen Wrapper: http://library.gnome.org/devel/glib/stable/glib-Spawning-Processes.html
Ohne GTK+ funktioniert fork bei mir problemlos, in GTK+ müsste das auch so sein, aber da hab ich es noch nie probiert.
Ich würde dir auf jeden Fall empfehlen, diese Funktionen dir mal anzuschauen.