JeuWeb - Crée ton jeu par navigateur
attendre la reponse d'une socket - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : attendre la reponse d'une socket (/showthread.php?tid=1050)



attendre la reponse d'une socket - X-ZoD - 08-04-2007

dans mon projet scolaire de concevoir une messagerie online genr msn on droit gerer certains evenement genr quan quelqu'un n'est pslu connecte bha on le fait disparaitre de la liste de contact...
alors forcementon va mettre les sockets du clienten lecture en attente des informaiton des sockets du serveur

mais j'ai l'impression que je dois les faire tourner en continue et donc laisser le socket en lecture dans une boucle infini sinon la socket se referme

je trouve ca pas cool
et je n'envisage pas du tout de methode du genr : ouvrire la socket toutes les 5 secondes


quelqu'un aurait il une iddee ?


RE: attendre la reponse d'une socket - NicoMSEvent - 08-04-2007

il y a plein de parametres a prendre en compte...

1er cas : tu te connectes a un serveur apache, sans connection persistante
Chaque transaction demande l'ouverture d'un socket. C'est ce qu'on appelle une communication en mode non connecté. Rien n'empeche que la connection suivante se fasse via une autre route.

2eme cas : tu te connecte a un serveur apache avec connection persistantes.
La premiere transaction demande l'ouverture du socket. Ensuite, la connection reste ouvert x secondes (défini dans le fichier httpd.conf à la ligne KeepAlive ou qqch du genre).
Donc, a chaque transaction, il te faut vérifier que la connection est toujours active, et si elle ne l'est plus, te reconnecter. C'est beacoup oins gourmand en ressource, par contre ça demande des tests supplémentaires

3eme cas, ton serveur est un serveur fait maison, et la tu gère ça comme tu veux Wink

Citation :mais j'ai l'impression que je dois les faire tourner en continue et donc laisser le socket en lecture dans une boucle infini sinon la socket se referme
dans ton programme client, pas besoin de faire une boucle infinie, il faut faire de la programmation événementielle. Genre, dans borland builder C++ ou visual studio c++ (je prends ça en exemple parce que j'ai déja bossé avec), tu as une fonciton OnSocketRead (ou un nom qui s'en rapproche) qui est lancé automatiquement, dès qu'il y a une activité entrante sur ton client! C'est-y pas génial ça? ^^
Donc, pas besoin de boucle infinie...


RE: attendre la reponse d'une socket - X-ZoD - 08-04-2007

waou nice !!!
on va se pencher sur ces information aujourd'hui ^^
superbe tes informations je te tiens au courant ce soir ou demain matin .... la on est parti pour un nuit blanche ...
tout a leur je vous met en lien une capture de la gueule ke ca a pour lisntant a plus