listen() , accept() and connect()
1. L’ Ecoute : Listen()
La fonction listen() permet de mettre une socket en attente de connexion. Elle ne s'utilise qu'en mode connecté (donc avec le protocole TCP).
a) Syntaxe :
b) Valeur retournée :
retourne 0 en cas de succès, et -1 en cas d’erreur.
c) Paramètres d’entrées :
1. s : descripteur de socket retourné par l’appel socket.
2. nb : représente le nombre maximal de connexions pouvant être mises en attente
2. accepter des connexions : accept()
L’appel accept() permet d’accepter une connexion. Il est utilisé, en principe, par un serveur en SOCK_STREAM (TCP).
a) Syntaxe:
b) Valeur retournée :
L’appel retourne un descripteur de fichier (identificateur du socket de réponse) strictement positif en cas de succès, et -1 en cas d’erreur.
c) Paramètres d’entrées :
a. s : représente la socket précédemment ouverte (la socket locale).
b. adresse : représente un tampon destiné à stocker l'adresse de l'appelant.
c. longueur : représente la taille de l'adresse de l'appelant.
3. Connect :
La fonction connect() permet d'établir une connexion avec un serveur :
a) Syntaxe :
#include <sys/types.h>
#include <sys/socket.h>
int connect(int socket,struct sockaddr * addr,int addrlen)
b) Paramètres d’entrées
1. socket représente la socket précédemment ouverte.
2. addr représente l'adresse de l'hôte à contacter. Pour établir une connexion, le client ne nécessite pas de faire un bind()
3. addrlen représente la taille de l'adresse de l'hôte à contacter
4. Valeurs retournées : La fonction connect() retourne 0 si la connexion s'est bien déroulée, sinon -1.