Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

bind() - Einem Socket einen Namen zuordnen

&pagelevel(4)&pagelevel



#include <sys.types.h>
#include <sys.socket.h>

#include <netinet.in.h> /* nur bei AF_INET und AF_INET6 */
#include <iso.h>        /* nur bei AF_ISO */
  
Kernighan-Ritchie-C:
int bind(s, name, namelen);
int s;
int namelen;

struct sockaddr_in *name;  /* nur bei AF_INET  */
struct sockaddr_in6 *name; /* nur bei AF_INET6 */
struct sockaddr_iso *name; /* nur bei AF_ISO   */

ANSI-C:
int bind(int s, struct sockaddr* name, int namelen);


Beschreibung

Die Funktion bind() ordnet einem mit der Funktion socket() erzeugten, zunächst namenlosen Socket einen Namen zu. Nachdem ein Socket mit der Funktion socket() erzeugt worden ist, existiert dieser Socket zwar innerhalb eines Namensbereichs (Adressfamilie), hat aber noch keinen Namen.

Der Parameter s bezeichnet den Socket, dem mit bind() ein Name zugeordnet werden soll.namelen spezifiziert die Länge der Datenstruktur, die den Namen beschreibt.

Returnwert

0:

bei Erfolg

-1:

bei Fehler. errno wird gesetzt, um den Fehler anzuzeigen.

Fehleranzeige durch errno

EADDRINUSE

Der angegebene Name wird bereits benutzt.

EADDRNOTAVAIL

Der angegebene Name kann vom lokalen System nicht an den Socket gebunden werden.

EBADF

s ist kein gültiger Deskriptor.

EFAULT

Die Länge des Bereichs für die Aufnahme der Adresse ist zu klein. 

EINVAL

Dem Socket ist bereits ein Name zugeordnet oder namelen hat nicht die Größe einer gültigen Adresse für die angegebene Adressfamilie.

ENETDOWN

Die Verbindung zum Netzwerk ist nicht mehr aktiv.

Siehe auch

connect(), getsockname(), listen(), socket()