C standard library :: socket

socket - kreer et punkt for kommunikation

int socket (int domain, int type, int protocol)

Denne funktion skal kreere en ubunden socket i en kommunikations domæne og returnere en file descriptor, som efterfølgende funktionskald kan bruge til at operere med.

Funktionen socket() tager følgende parametre:

domain
Angiver der kommunikationsdomæne i hvilket denne socket kreeres.
type
Angiver typen af socket der kreeres.
protocol
Angiver en bestemt protokol der skal anvendes med en socket. Angivelse af protokol som 0 får socket() til at bruge en uspecificeret standard protokol for en ønskede sockettype.

Parameteren domain angiver en adresse-familie brugt i et kommunikationsdomæne. Adresse-familien supporteret af systemet er implementations-defineret.

Symbolske konstanter som kan bruges for domain parameteren er defineret i <sys/socket.h> headeren.

Parameteren type angiver en sockettype som bestemmer semantikken af kommunikationen over en socket. De følgende sockettyper er defineret, dog kan en given implementering specificere flere sockettyper:

SOCK_STREAM
Giver sekventiel, pålidelig, bidirektionel, forbindelses-orienteret byte streams, og kan give transmissionsmekanismer for out-of-band data.
SOCK_DGRAM
Giver datagram, hvilket er forbindelsesløst-orienteret, upålidelig message med fast maksimum længde.
SOCK_SEQPACKET
Giver sekventiel, pålidelig, bidirektionel, forbindelses-orienteret transmission stier for record. En record kan sendes ved en eller flere output operationer og modtages ved en eller flere input operationer, men en enkelt operation overfører aldrig dele af mere end én record. Record grænser er synlige for modtageren gennem MSG_EOR flag.

Hvis parameteren protocol er ikke-nul skal den specificere en protokol som er supporteret af adresse-familien. Hvis parameteren protocol er nul, skal standard protokollen for denne adresse-familie bruges. Protokoller supporteret af systemet er implementations-defineret.

Processen kan behøve nødvendige rettigheder for at bruge socket() til at kreere nogle socket.

Returværdi

Ved succesfuld udførelse returneres et positivt nummerb for en socket file descriptor. Ellers -1 og errno sat til at indikere årsag.

Fejl

Funktionen socket() skal fejle hvis:

[EAFNOSUPPORT]
Implementering supporterer ikke en angivne adresse-familie.
[EMFILE]
Ikke flere file descriptor er tilgængelig for denne process.
[ENFILE]
Ikke flere file descriptor er tilgængelig for dette system.
[EPROTONOSUPPORT]
Protokollen er ikke supporteret af denne adresse-familie eller protokollen er ikke supporteret af implementeringen.
[EPROTOTYPE]
Sockettypen er ikke supporteret af protokollen.

Funktionen socket() kan fejle hvis:

[EACCES]
Process har ikke de fornødne rettigheder.
[ENOBUFS]
Utilstrækkelige ressourcer til gennemførelsen af kaldet.
[ENOMEM]
Utilstrækkelig memory til at fuldføre forespørgsel.

 

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 er ikke fordi ting er vanskelige, vi ikke tør. Det er fordi, vi ikke tør, ting er vanskelige.

Seneca



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