C standard library :: socket
listen - listen for socket forbindelser
Denne funktion skal markere en socket fd til accept af forbindelser.
Parameter n skal bruges til at begrænse antallet af udestående forbindelser til socket listen-køen. Implementeringer kan påvirke begrænsningen og evt. reducere antallet af forbindelser. Men normalt vil n parameteren bevirke en enten større eller lig med størrelse på listen-køen. Implementering skal supportere antal op til SOMAXCONN som er defineret i <sys/socket.h>.
Implementeringen af funktionen kan give forskellige begrænsninger til køen af ufuldstændige forbindelse og fuldstændige forbindelser.
Implementeringen kan enten have en øvre grænse for listen-køen som er global eller per. socket og hvis n overstiger denne grænse reduceres antallet implementeringens fastsatte grænse.
Hvis listen() bliver kaldt med n parameteren sat til mindre end 0 bliver listen-køen sat til den af implementeringen fastsatte grænse.
Den socket der anvendes kan kræve at processen har de fornødne retttigheder til at bruge listen().
Returværdi
Ved succesfuld udførelse returneres 0. Ellers -1 og errno sat til at indikere årsag.
Fejl
Funktionen listen() skal fejle hvis:
- [EBADF]
- Parameteren fd er ikke en valid file descriptor.
- [EDESTADDRREQ]
- Den socket er ikke bundet til en lokal adresse og protokollen tillader ikke at lytte til en ubunden socket.
- [EINVAL]
- Socket er allerede forbundet.
- [ENOTSOCK]
- Parameter fd refererer ikke til en socket.
- [EOPNOTSUPP]
- Socket protokollen supporterer ikke listen().