cs_gg_the_boss
Messages postés49Date d'inscriptionmardi 13 avril 2004StatutMembreDernière intervention18 juin 2007
-
18 juin 2007 à 17:15
katsankat
Messages postés571Date d'inscriptionvendredi 30 décembre 2005StatutMembreDernière intervention12 juillet 2012
-
19 juin 2007 à 14:13
Salut à tous !
Donc voila j'essaye d'ajouter la gestion des sockets à mon langage de script. J'ai implementé les fonctions mais ca ne marche qu'a moitié.
Le client peut se connecter au serveur, envoyer un message, mais le serveur ne recoit le message qu'une fois que la socket est close du côté du client.
katsankat
Messages postés571Date d'inscriptionvendredi 30 décembre 2005StatutMembreDernière intervention12 juillet 20123 19 juin 2007 à 14:13
C'est le code qui le veut!
A partir du moment où le serveur fait son script "!read_port_socket :test" on arrive ligne 152 le serveur fait un recv et ajoute le buffer temporaire à sypbuffer ligne 155. Puis la boucle infinie continue! Elle ne stoppe que lorsque recv retourne 0, ligne 154, c'est à dire lorsque le client ferme, ce qui exécute le code de close_port_socket ligne 64 si j'ai bien compris. D'ailleurs le WSACleanup(); qui s'y trouve ne drvrait être invoqué qu'à la fermeture de l' appli.
Conseil: le code de read_port_socket (ligne 127) ne devrait QUE faire un recv, rien d'autre. Pour l'instant on est dans une boucle infinie qui fait un recv et attend que recv retourne -1 ou 0 pour continuer. Pas normal.
Sinon c'est super intéressant de développer un langage de script, bonne prog.