1.4.4- Présentation des sockets
Un socket représente une prise par laquelle une
application peut envoyer et recevoir des données. Cette prise permet
à l'application de se brancher sur un réseau et communiquer avec
d'autres applications qui y sont branchées. Les informations
écrites sur une prise depuis une machine sont lues sur la prise d'une
autre machine, et inversement. Il existe différents modèles de
prises, en fonction des protocoles réseau; le plus fréquent est
le socket TCP/IP.
La fonction socket des API (application programming
interface) sert à créer un certain type de prise. Le type de
prise sera choisi en fonction de la technologie de communication à
utiliser (par exemple TCP/IP). L'API permet à un logiciel serveur de
servir plusieurs clients simultanément. Une connexion est établie
entre le client et le serveur en vue de permettre la communication. La
fonction connect permet à un client de demander la connexion
à un serveur, et la fonction accept permet à un serveur
d'accepter cette connexion. Le programme serveur utilisera préalablement
la fonction listen pour informer le logiciel sous-jacent qu'il est
prêt à recevoir des connexions. Une fonction close permet
de terminer la connexion. Lorsqu'un des deux interlocuteurs termine la
connexion, l'autre est immédiatement avisé.
Une fois la connexion établie, les fonctions
send et recv servent respectivement à envoyer et à
recevoir des informations. Une fonction auxiliaire gethostbyname
permet d'obtenir l'adresse IP d'une machine en interrogeant le DNS,
adresse qui sera utilisée par d'autres fonctions de l'API.
|