Accueil
Rechercher:
sur developpez.com sur les forums
Forums | Tutoriels | F.A.Q's | Participez | Hébergement | Contacts
Club Emploi Blogs   TV   Dév. Web PHP XML Python Autres 2D-3D-Jeux Sécurité Windows Linux PC Mac
Accueil Conception Java DotNET Visual Basic  C  C++ Delphi MS-Office SQL & SGBD Oracle  4D  Business Intelligence
FORUMS C FAQs C TUTORIELS C LIVRES C COMPILATEURS C SOURCES GTK+

Faire communiquer 2 programmes par socket en C++Builder6

 

18 février 2002 mis à jour le 1 mai 2003

Par Olivier Constans

Dans ce tutoriel , nous allons voir comment écrire une petite application client serveur très simple.

Elle consistera en 2 programmes, le client et le serveur , qui vont communiquer entre eux grâce à un socket client et un socket serveur.

Comme vous allez le voir, la mise en œuvre de cela à l’aide de C++builder6 simplifie grandement les choses.

 

Le serveur

Notre petit serveur sera constitué d’une fiche qui contiendra un composant socket serveur. Ce dernier sera à l’écoute d’un client et se chargera de recevoir les messages du client et de les afficher , puis d’envoyer au client une réponse en retour.

Voici la fiche correspondant à notre serveur :

Configuration du composant socket serveur :

Pour les propriétés du composant , nous mettrons la propriété active à false , car le socket sera activé lors de l’activation de fiche.

La propriété port sera arbitrairement fixée à 1200 , mais ici,tout autre valeur conviendra. Ce qui importe, c’est que le client et le serveur aient le même port. Nous laisserons les autres valeurs à leur valeurs par défaut.

 

Les méthodes du serveur :

ServerSocket1ClientConnect

Cet événement est activé lorsqu’un client se connecte au serveur. Nous écrirons un message dans la barre d’état pour signifié la connection.

ServerSocket1ClientRead

Cet événement est déclenché à la lecture du client. Nous allons effectuer alors la réception du message envoyé par le client , ici une chaîne de texte, en invoquant la méthode ReceiveText() du socket.

Nous ajouterons alors ce texte au composant memo de la fiche 1 , puis nous renverrons au client un texte lui signifiant la réception , l’adresse et le nom d’hôte du serveur.

ServerSocket1ClientDisconnect

Lorsque le client interromps la liaison , nous enverrons un message de fin de connection dans la barre d’état de notre fiche.

Les source du serveur :

 

Le client

Notre client sera simplement constitué d'une fiche avec un composant Tedit dans lequel nous saisirons un petit texte qui sera envoyé au serveur grâce à notre composant socket client.

 

Les méthodes du client :

ClientSocket1Error

Lorsque nous connectons notre client, si aucun serveur n'est actif, il y a une erreur, aussi , nous intercepterons les erreurs pour envoyer proprement à l'utilisateur un message l'avertissant que la communication ne peux pas s'établir et ensuite, nous quitterons l'application.

Button1Click

Lorque nous clickons sur le bouton envoi, le texte saisi est envoyé au serveur.

ClientSocket1Read

Après avoir envoyé notre message, nous lisons la réponse envoyé par le serveur afin de l'afficher dans la ligne de message d'état.

Le source du client:

 

 

Conclusion:

Cette application est très simple, mais elle nous permet déjà d'apprendre à utiliser les composants socket et aussi de comprendre la base du fonctionnement client serveur.

Le projet et les sources du serveur: Serveur.zip

Le projet et les sources du client: CLient.zip

 

Responsable bénévole de la rubrique C : Arnaud Feltz (buchs) - Contacter par EMail :
Vos questions techniques : forum d'entraide C - Publiez vos articles, tutoriels et cours
et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones
Nous contacter - Copyright © 2000-2008 www.developpez.com - Legal informations.