Cela fait bien longtemps que je n'ai pas posté de source
Dans le cadre d'un développement plus large, j'ai eu besoin d'un logiciel de chat
Celui-ci reprend une architecture Serveur/Client. En mode Serveur, ce dernier se lance et attend des connexions clientes. Automatiquement une connexion est créé permettant de dialoguer... tout seul
A partir de là, il est nécessaire de lancer une ou plusieurs autres instances du programme mais cette fois-ci en mode client en indiquant l'IP du serveur (en mode réseau local ou internet). L'IP internet est récupérée à partir d'un script PHP http://programmeur.fou.free.fr/MyIP.php dont je remercie l'auteur au passage.
6 connexions simultanées sont possibles pour le moment (un #define est à l'origine de cette limitation)
Lorsqu'une déconnexion est repérée( mot clé "/exit" ou bien fermeture de la fenêtre), le socket est libéré, laissant sa place à qq1 d'autre souhaitant se connecter (toujours dans la limite de 6 personnes simultanées). Pour chaque client connecté, un thread est créé au niveau du serveur. Ce thread s'acquitte de la réception du message venant du client et du renvoi de la prose aux autres clients (tout transite par le serveur)
Au niveau client, un thread se charge de la réception des messages, l'envoi étant provoqué par la touche "Enter" comme dans MSN
Améliorations à venir :
-----------------------
* Disparition de la notion d'IP : le serveur ira écrire sur un site son IP internet et le client s'y connectera afin de venir lire cette ip. L'utilisateur n'aura plus à intervenir
* Amélioration de l'interface (police, couleurs, personnalisation)
* envoi de fichiers
* insertion d'icônes (smileys ?)