Socket
Un socket est un composant logiciel qui aide les programmes informatiques à communiquer sur un réseau. Le terme « socket » évoque une prise physique dans laquelle on branche un câble réseau et par laquelle transitent toutes les données. Les applications établissent des sockets réseau logiciels dans un but similaire : toutes les données qu’une application envoie et reçoit par une connexion réseau passent par son socket.
Les sockets fournissent une méthode standard permettant à un programme d’établir des connexions réseau. Les développeurs de logiciels peuvent utiliser une API pour créer un socket géré par le système d’exploitation, sans avoir à créer leur propre méthode à partir de zéro. Lorsque l’application doit envoyer des données sur le réseau, elle écrit ces données dans le socket comme si elle écrivait un fichier sur un disque. Le système d’exploitation le détecte et transfère automatiquement le paquet de données sur le réseau jusqu’à sa destination.
Chaque socket possède une adresse de socket unique qui combine une adresse IP et un numéro de port. Cette adresse identifie à la fois l’ordinateur précis sur lequel le socket fonctionne et l’application qui l’a créé. Les applications exécutées sur un serveur créent des sockets lors de leur lancement et les maintiennent en état d’écoute, tandis que les applications sur les clients peuvent ouvrir et fermer des sockets selon leurs besoins. Lorsqu’un socket est ouvert, le système d’exploitation surveille les paquets de données entrants et sortants et examine l’adresse de socket de chaque paquet pour savoir où le transférer.
Par exemple, lorsque vous consultez un site web avec votre navigateur web, celui-ci crée un socket qui se connecte à un autre socket sur un serveur web distant à l’aide de son adresse IP et de son numéro de port 80 pour les connexions (HTTP et 443 pour les connexions HTTPS). Le navigateur envoie à ce socket une demande pour une page web précise, que le système d’exploitation détecte et transfère au serveur web. Lorsque le serveur web renvoie la page demandée à votre ordinateur, le système d’exploitation examine l’adresse de socket et sait qu’il doit la renvoyer au navigateur web.
Testez vos connaissances