int bind( int socket, const struct sockaddr *address, socklen_t address_len);

Die Funktion namens bind() weist einem Socket mit dem Parameter socket eine Adresse zu. Die Adresse ist vom Typ struct sockaddr (engl.: socket address internet). Ein Rechner kann mehr als eine Internet-Adresse besitzen. Solche Rechner werden als „Multi-Homed“-Systeme bezeichnet. Um nun anzugeben welche Internet-Adresse des Rechners verwendet werden soll, wird die Funktion bind() benötigt. Mittels des Parameter address wird die zu verwendende Internet-Adresse und der zu verwendende Port angegeben. Sollen alle Adressen des Rechners benutzt werden, wird der Internet-Addresse der Wert INADDR_ANY zugewiesen. Die Größe der Struktur address wird durch den Parameter address_len angegeben. Wurde die Funktion erfolgreich durchgeführt, dann liefert sie eine Zahl, die größer als 0 ist.

Beispiel:

int socket_descriptor;
struct sockaddr_in server;
int return_val;

server.sin_family = PF_INET;
server.sin_addr.s_addr = INADDR_ANY;
server.sin_port = PORT;

return_val = bind( socket_descriptor, (struct sockaddr*)&server, sizeof (struct server));

if(return_val < 0)
{
	perror(“bind stream socket”);
	exit(1);
}