Réponse acceptée !
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.
I can break the rules too, goodbye.