Sockets

Sockets

Une socket est une interface de programmation d'application (API), qui sert à communiquer entre deux ordinateurs hôtes. Le socket réalise des entrées/sorties réseau. Pour utiliser une socket dans un programme, il faut la crée et la configurer avec l'adresse appropriée des hôtes locaux et distants. Lorsque la socket est connectée, le programme peux s'en servir pour communiquer avec la hôte distant.

Une communication réseau par programme est généralement composée de deux parties: un client et un serveur. Les programmes client cherchent de façon active à se connecter au serveur et les serveur sont, de façon passive, à l'écoute des requêtes provenant des clients.
Les entrées/sorties UNIX n'offrent pas la possibilité d'être passives. C'est les sockets qui offrent l'écoute passive et l’attente des requêtes du client.
Une socket a des nombreux arguments associés, qui doivent être spécifiés à la connexion. Le premier argument est la famille de protocole de communication comme TCP/IP. Le programme ne livre pas réellement les données, il les passe au réseau qui se charge de l'acheminement.