Der Client fordert Services vom Server an, indem er mit der Funktion connect() eine Verbindungsanforderung zum Socket des Servers schickt. Auf der Seite des Clients veranlasst der Aufruf connect() den Aufbau einer Verbindung.
In der Internet-Domäne AF_INET verläuft eine Verbindungsanforderung nach folgendem Schema:
struct sockaddr_in server; ... connect(s, (struct sockaddr *)&server, sizeof server);
In der Internet-Domäne AF_INET6 verläuft eine Verbindungsanforderung nach folgendem Schema:
struct sockaddr_in6 server; ... connect(s, (struct sockaddr *)&server, sizeof server);
Der Parameter server übergibt die IPv4- bzw. IPv6-Adresse und die Portnummer des Servers, mit dem der Client kommunizieren möchte.
Falls dem Socket des Client-Prozesses zum Zeitpunkt des Aufrufs von connect() noch kein Name zugeordnet ist, sucht das System automatisch einen Namen aus und ordnet ihn dem Socket zu.
Wenn der Verbindungsaufbau nicht erfolgreich ist, wird ein Fehler-Code zurück geliefert. Dies kann z.B. der Fall sein, wenn der Server noch nicht bereit ist, eine Verbindung anzunehmen (siehe folgender Abschnitt). Jedoch bleiben auch bei nicht erfolgreichem Verbindungsaufbau alle Namen erhalten, die vom System automatisch zugeordnet wurden.