Socket

Déroulement d'une communication avec les sockets

Fonctions
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é

Dernière modification le mardi 14 octobre 2008 à 17:40:35.Ce document intitulé « Déroulement d'une communication avec les sockets » issu de Comment Ça Marche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.

Meilleures réponses pour « Déroulement d'une communication avec les sockets » dans :
Listes déroulantes simples avec Excel VoirDans votre tableau, vous souhaitez insérer un texte ou une valeur choisi dans une liste (déroulante). vous créez votre liste, ligne aprés ligne, sur votre feuille en cours ou sur une autre feuille du classeur en cours. vous la nommez : INSERTION...
[Overclocking] Plateformes AMD 64bits socket 754/939/AM2 VoirOverclocking des CPU AMD Athlon 64 et Sempron socket 754 et 939 Les générations de CPU gravés à 0,09 microns (coeur Venice pour Athlon ou Palermo pour Sempron) ouvrent de nouvelles perspectives en matière d'overclocking. La déperdition...
Enlever ventirad socket A VoirProblème Je n'arrive pas à enlever le ventirad de mon processeur socket A. Solution Il y a un crochet sur un côté. Il faut appuyer avec le bout d'un tournevis plat, par exemple, sur le crochet pour le libérer. Merci à epango sur le forum...
Télécharger LIVECHAT Communicator VoirLive Chat Communicator est un client de messagerie spécialement conçu pour les entreprises. En plus des focntions de base, il présente des fonctions supplémentaires qui favoriseront les utilisateurs en équipe. Live Chat Communicator possède : - une...
Cryptographie - Secure Sockets Layers (SSL) VoirIntroduction à SSL SSL (Secure Sockets Layers, que l'on pourrait traduire par couche de sockets sécurisée) est un procédé de sécurisation des transactions effectuées via Internet. Le standard SSL a été mis au point par Netscape, en...
Les fonctions de l'API Socket VoirLes fonctions des sockets en détail La fonction socket() La création d'un socket se fait grâce à la fonction socket() : int socket(famille,type,protocole) famille représente la famille de protocole utilisé (AF_INET pour TCP/IP utilisant une...
Programmation réseau - Les sockets VoirIntroduction aux sockets La notion de sockets a été introduite dans les distributions de Berkeley (un fameux système de type UNIX, dont beaucoup de distributions actuelles utilisent des morceaux de code), c'est la raison pour laquelle on parle...