Ressources informatiques

Ressources informatiques

Ressources informatiques

bind() : associer une socket à un couple (adresse IP, numéro de port) et ouvrir le port indiqué

Documentation : perkamon.traduc.org : bind(2)

Syntaxe

#include <sys/types.h>
#include <sys/socket.h>
int bind(int sockfd, const struct sockaddr *addr, socklen_t addrlen);

Description

Associe à la socket de descripteur sockfd le couple (adresse IP, n° de port) défini dans *addr. Si bind() réussi, le port est ouvert.

struct sockaddr {
	sa_family_t sa_family; /* famille d'adresses : AF_INET, AF_UNIX, ... */
	char sa_data[14]; /* contient l'adresse */
}

Cette structure est le dénominateur commun de deux autres structures qui correspondent à un nom de fichier dans le domaine UNIX (communication intra-machine) et à un couple (adresse IP, n° de port) dans le domaine réseau (INET).

struct sockaddr_in {
    sa_family_t    sin_family;  /* famille d’adresses : AF_INET     */ 
    in_port_t      sin_port;    /* port dans l’ordre des octets du réseau sur 2 octets */
    struct in_addr sin_addr; 	/* adresse internet sur 4 octets */
}

La structure struct in_addr est définie ci-dessous :

struct in_addr {
	uint32_t s_addr; /* adresse IPv4 sur 4 octets dans l’ordre des octets du réseau */
}