C standard library :: socket

setsockopt - Sæt socket optioner

int setsockopt (int fd, int level, int optname, const void *optval, socklen_t optlen)

Denne funktion skal sætte optioner til socket angivet med file descriptor fd. Option angives med optname parameteren, protokolniveau angives med level og selve værdien til option angives med optval og i tillæg til værdien dens byte længde i optlen.

Parameteren level angiver et protokolniveau ved hvilket optioner tilhører. For at sætte optioner ved socket-niveau, angiv level parameteren som SOL_SOCKET. For at sætte optioner på andre niveauer, angiv den ønskede level symbolnavn for protokollen der kontrollerer optionen. F.eks. for at sætte en option tilhørende TCP (Transport Control Protocol), sæt level til IPPROTO_TCP som defineret i <netinit/in.h> headeren.

Parameteren optname angiver en enkelt option at sætte. Denne optname parameter og hvilken som helst angivet option overføres til det angivne protokol-modul for fortolkning. Header <sys/socket.h> definerer socket-level optioner. Disse optioner er:

SO_DEBUG
Optagelse af debug-informationer. Denne option åbner og lukker debug-informationer i det underliggende protokol-modul. Denne option er en int værdi. Dette er en boolsk option.
SO_BROADCAST
Tillader udsendelse af broadcast message, hvis den er supporteret af protokollen. Denne option er en int værdi. Dette er en boolsk option.
SO_REUSEADDR
Angiver at reglerne anvendt i validering af adresser forsynet til bind() skal tillades genbruges af lokale adresser, hvis det er supporteret af protokollen. Denne option er en int værdi. Dette er en boolsk option.
SO_KEEPALIVE
Holder forbindelsen aktiv ved at starte en periodisk transmission af message, hvis dette er supporteret af protokollen. Hvis den forbundne socket fejler at respondere på denne message, vil forbindelsen afbrydes og tråde der skriver til denne socket får besked med et SIGPIPE signal. Denne option er en int værdi. Dette er en boolsk option.
 
 
SO_LINGER
Holde en close() tilbage hvis data er tilstede. Denne option kontrollerer handlingen når close() udføres, sålænge der i køen på en socket er ikke sendte message holdes handlingen tilbage for close(). Hvis SO_LINGER er sat vil systemet blokere den kaldende tråd igennem close() indtil den kan transmittere alle data eller indtil en given tid er udløbet. Hvis SO_LINGER ikke er sat og close() er kaldt vil systemet håndtere kaldet på den måde at den kaldende tråd kan fortsætte så hurtigt som muligt. Denne option bruger en linger struktur som er defineret i <sys/socket.h> headeren.
SO_OOBINLINE
Efterlader modtagne out-of-band data (data markeret urgent) inline. Denne option er en int værdi. Dette er en boolsk option.
SO_SNDBUF
Sætter send-buffer størrelsen. Denne option er en int værdi.
SO_RCVBUF
Sætter modtager-buffer størrelsen. Denne option er en int værdi.
SO_DONTROUTE
Anmoder at udgående message omgår standard rutnings faciliteter. Destinationen skal være på en direkte forbundet netværk, og messages er direkte til det rette netværksinterface i henhold til destinationsadressen. Effekten, hvis nogen overhovedet afhænger af hvilken protokol der er anvendt. Denne option er en int værdi. Dette er en boolsk option.
SO_RCVLOWAT
Sætter minimum antal byte til et forløb for socket input-operationer. Normal værdien er 1. Hvis SO_RCVLOWAT er sat til en større værdi, blokeres modtager kaldet og venter normalt indtil minimum antal bytes er modtaget. (Der kan returneres selvom minimum antal bytes ikke er modtaget, hvis en fejl opstår eller et signal er indfanget, eller hvis typen af data efterfølgende er af en anden type end de returnerede; f.eks. out-of-band data). Denne option er en int værdi. Bemærk at ikke alle implementeringer tillader denne option.
SO_RCVTIMEO
Sætter timeout værdien som angiver den maksimale tid en input-funktion venter indtil den afsluttes. Den accepterer et timeval struktur med antal sekunder og mikrosekunder som angiver grænsen for hvor lang tid at vente på en input-operation bliver færdig. Hvis en input-operation har blokeret i for lang tid unden af modtage yderligere data skal den returnere med en delvis tæller eller errno sat til [EAGAIN] eller [EWOULDBLOCK] hvis ingen data er modtaget. Standardværdien for denne option er 0, hvilket betyder at input-operationen ikke anvender timeout. Denne option anvender timeval strukturen. Bemærk at ikke alle implementeringer tillader denne option.
SO_SNDLOWAT
Sætter minimum antal byte til et forløb for socket output-operationer. Denne option er en int værdi. Bemærk at ikke alle implementeringer tillader denne option.
SO_SNDTIMEO
Sætter timeout værdien som angiver den maksimale tid en output-funktion venter indtil den afsluttes. Flowkontrol kan forhindre data i at blive sendt. Hvis en send-operation ikke lykkes indenfor angive tid skal funktionen returnere med en delvis tæller eller med errno sat til [EAGAIN] eller [EWOULDBLOCK] hvis ingen data er sendt. Standardværdien for denne option er 0, hvilket betyder at output-operationen ikke anvender timeout. Denne option anvender timeval strukturen. Bemærk at ikke alle implementeringer tillader denne option.

For boolske værdier betyder 0 optionen fravalgt og 1 optionen tilvalgt.

Retur værdi

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

Fejl

Funktionen skal fejle hvis:

[EBADF]
Parameteren fd er ikke en valid file descriptor.
[EDOM]
Send eller modtager timeout værdier er for store til at finde indpas i timeout feltet i socket strukturen.
[EINVAL]
Den angivne optioner er invalid eller socket er lukket ned.
[EISCONN]
Socket er allerede forbundet og den angivne option kan ikke sættes når socket er forbundet.
[ENOPROTOOPT]
Denne option er ikke supporteret af protokollen.
[ENOTSOCK]
Parameter fd refererer ikke til en socket.

Funktionen kan fejle hvis:

[ENOMEM]
Der var ikke tilstrækkeligt med memory tilgængelig for at fuldføre operationen.
[ENOBUFS]
Utilstrækkelige ressourcer tilstede i systemet for at gennemføre 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 Det eneste sted, hvor anerkendelse kommer før arbejde, er i ordbogen.

Anonym



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