C standard library :: socket

bind - bind et navn til en socket

int bind (int fd, const struct sockaddr addr, socklen_t len)

Denne funktion skal tildele en lokal socket-adresse addr til en socket fd. Socket kreeret med socket() er fra starten unavngiven; de er identificeret kun gennem deres adresse-familie.

Funktionen bind() tager følgende parametre:

fd
Angiver den file descriptor (socket) der skal bindes
addr
Peger til en sockaddr struktur indeholende adressen der skal bindes til socket. Længden og formatet af adressen afhænger af adresse-familien på socket.
len
Specificerer længden af sockaddr strukturen til addr.

Socket specificeret ved fd kan kræve at processen har nødvendige rettigheder for at bruge bind().

Returværdi

Ved succesfuld udførelse returneres 0. Ellers -1 og errno sat til at indikere årsag.

Fejl

Funktionen bind() skal fejle hvis:

[EADDRINUSE]
Den angivne adresse er allerede i brug.
[EADDRNOTAVAIL]
Den angive adresse er ikke tilgængelig fra den lokale maskine.
[EAFNOSUPPORT]
Den angive adresse er ikke en valid adresse for adresse-familien på den specificere socket.
[EBADF]
Parameteren fd er ikke en valid file descriptor.
[EINVAL]
Socket er allerede bundet til en adresse og protokollen supporterer ikke binding til en ny, eller socket er blevet lukket ned.
[ENOTSOCK]
Parameter fd refererer ikke til en socket.
[EOPNOTSUPP]
Socket protokollen supporterer ikke binding til en adresse.

Hvis adresse-familien på socket er AF_UNIX, skal bind() fejle hvis:

[EACCES]
En komponent af sti-prefix nægter søgerettigheder, eller forespurgte navn kræver skrive-rettigheder til en mappe hvor der afvises skrive-rettigheder.
[EDESTADDRREQ] eller [EISDIR]
Parameter addr er en nul-peger .
[EIO]
En I/O fejl opstod.
[ELOOP]
Ved undersøgelse af stinavne i addr forekom en løkke i symbolic links.
[ENAMETOOLONG]
En komponent i stinavnet oversteg NAME_MAX tegn, eller hele stinavnet oversteg PATH_MAX tegn.
[ENOENT]
En komponent i stinavnet har ikke navnet på en eksisterende fil eller stinavnet er en tom streng.
[ENOTDIR]
En komponent i sti-prefix i stinavnet i addr er ikke en mappe .
[EROFS]
Navnet ligger på en read-only filsystem.

Funktionen bind() kan fejle hvis:

[EACCES]
Den angivne adresse er beskyttet og den aktuelle bruger har ikke rettigheder til at binde til den.
[EINVAL]
Parameteren len er ikke en valid længde for adresse-familien.
[EISCONN]
Socket er allerede forbundet.
[ELOOP]
Flere end SYMLOOP_MAX symbolic links optrådte i stinavne i addr.
[ENAMETOOLONG]
Stinavnet indgik i en symbolic link som gav en resultat der oversteg PATH_MAX.
[ENOBUFS]
Utilstrækkelige ressourcer til gennemførelsen af kaldet.

 

Ressourcer C Library opslag The Single UNIX® Specification, Version 2 Copyright © 1997 The Open Group GNU C Library Engelsk, med masser af gode og dybe artikler. Danske søgeord Find selv de bedste danske søgeord til din hjemmeside.
Produkter Bookingsystem
System for reservation af tid for behandlinger, aftaler, lokaler, udstyr, personale. Tilpasset lektionstimer. Udskriver arbejdsplaner og ugeskema for opslag. Statistik. Danmarks bedste pris nu kun kr. 1.695,-
HelpdeskEffektiviser din support-organisation med et Helpdesksystem. Fjern tidrøvere der forhindrer fokus på problemløsning. Lektionsplan Formidling af generelle information og specifikke lektioner fra undervisere til studerende/elever. Medlemssystem Medlemssystem online med administration af medlemskartotek, kontingentbetalinger, flettefiler m.m.
Styr selv Styr selv indholdet på dine hjemmesider med Content Management System.
Citat Elsk mig mest når jeg fortjener det mindst, for da behøver jeg det mest.

ukendt



Professionelle løsninger til Internettet. Webdesign, e-handel, cms, søgeoptimering, webhotel, analyse, Intranet mm.