IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Téléchargé 6 fois
Vote des utilisateurs
0 
0 
Détails
Licence : Non renseignée
Mise en ligne le 15 novembre 2010
Plate-forme : Windows
Langue : Français
Référencé dans
Navigation

Exemple de communication socket pour la réalisation d'un petit chat

Ceci est un exemple simple de l'utilisation des composants TClientSocket et TServerSocket de C++ Builder pour réaliser une application de chat.

Les clients dialoguent uniquement avec le serveur, mais le serveur peut dialoguer avec qui il veut. Évidemment en implémentant son propre protocole d'échange de trames on peut très facilement faire dialoguer les clients entre eux mêmes, tout en passant par le serveur.

Comme je l'ai mentionné, ceci est un exemple d'utilisation des composants mentionnés ci-dessus, le but étant de réaliser un chat simple. Il est loin d'être un chat complet.


NB : Pour déclarer son identité auprès du serveur, un client doit envoyer la trame suivante au serveur (après s'être connecté) :

< Nom>MonAlias

Exemple : Si le client envoie < Nom>Neo41 alors le serveur rajoute dans sa liste de clients connectés l'alias "Neo41" et aura la possibilité de dialoguer avec ce client.
Avatar de OkamiRyuu
Membre du Club https://www.developpez.com
Le 06/02/2012 à 13:39
Bonjour.

Et tout d'abord merci d'avoir mis votre code à disposition. Je suis en train de réaliser un serveur en C++ Borland (qui doit communiquer avec une application Qt). Seulement, mes données reçues étant érronées, j'ai voulu partir d'un client / serveur Borland pour faire des tests.

Or, quand je teste votre code, les trames ne sont pas bonnes entre votre client et votre serveur. Alors que j'écris "azerty" sur le client, je récupère "????'" sur le serveur

Auriez vous une idée de mon problème ? Je ne pense pas que votre code soit en cause, alors d'où cela peut il venir ?

Merci par avance pour votre aide.

Okami Ryuu
Developpez.com décline toute responsabilité quant à l'utilisation des différents éléments téléchargés.