Bonjour a vous,
pour un programme de type chat client + serveur, je souhaite faire une interface GTK, jusque la aucun souci.
Seulement pour ecouter les donnes du serveur envoyees sur la socket, j'utilise la fonction select() permettant de surveiller la socket. La fonction select() est utilisee dans une boucle infinie.
Or en GTK on doit faire appel a la fonction gtk_main(), qui elle aussi est une fonction infinie ... Comment faire donc pour combiner les deux ?
Actuellement le code ressemble a cette structure en gros :
Le programme bloque bien entendu au niveau de l'interface a cause du gtk_main(). Ce probleme est probablement classique mais aucun moye nde trouver une solution :/
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 int main(int ac, char **av) { // Creation de l'interface GTK, avec un gtk_main() a la fin, qui est une boucle infinie interface(); while (1) { // Ecout de la socket select(); // Afficher le messae dans l'interface GTK si un message a ete envoye sur la socket } }
merci d'avance pour votre aide.
Partager