infoclick solution informatique - Encyclopédie informatique

 
Introduction
La communication
Les fonctions
 
Déroulement d'une communication avec les sockets Page précédente Page suivante Retour à la page d'accueil

Comme dans le cas de l'ouverture d'un fichier, la communication par socket utilise un descripteur pour désigner la connexion sur laquelle on envoie ou reçoit les données. Ainsi la première opération à effectuer consiste à appeler une fonction créant un socket et retournant un descripteur (un entier) identifiant de manière unique la connexion. Ainsi ce descripteur est passé en paramètres des fonctions permettant d'envoyer ou recevoir des informations à travers le socket.

L'ouverture d'un socket se fait en deux étapes:

  • La création d'un socket et de son descripteur par la fonction socket()
  • La fonction bind() permet de spécifier le type de communication associé au socket (protocole TCP ou UDP)

Un serveur doit être à l'écoute de messages éventuels. Toutefois, l'écoute se fait différemment selon que le socket est en mode connecté (TCP) ou non (UDP).

  • En mode connectéle message est reçu d'un seul bloc.
    Ainsi en mode connecté, la fonction listen() permet de placer le socket en mode passif (à l'écoute des messages). En cas de message entrant, la connexion peut être acceptée grâce à la fonction accept(). Lorsque la connexion a été acceptée, le serveur reçoit les données grâce à la fonction recv().
  • En mode non connecté, comme dans le cas du courrier, le destinataire reçoit le message petit à petit (la taille du message est indéterminée) et de façon désordonnée.
    Le serveur reçoit les données grâce à la fonction recvfrom().
La fin de la connexion se fait grâce à la fonction close().

Voici le schéma d'une communication en mode connecté
les sockets en mode connecté

Voici le schéma d'une communication en mode non connecté
les sockets en mode non connecté


 
Ce document intitulé «Sockets - Déroulement d'une communication» issu de CommentCaMarche.net est soumis à la licence GNU FDL. Vous pouvez copier, modifier des copies de cette page tant que cette note apparaît clairement.
 

Qui sommes nous - infos légales - contact - liens - plan du site
Copyright © 2004 infoclick - 05 62 07 79 73 - Hôtel d'entreprise / ZI du Pont Peyrin 32600 Isle Jourdain
Valid XHTML 1.0! Valid CSS!