C standard library :: socket

send - Send en message til en forbundet socket

ssize_t send (int fd, const void *buf, size_t n, int flags)

Denne funktion sender en message til en forbindelses- eller forbindelsesløs-orienteret socket angivet med fd. Den anvendes normalt med forbundne sockets fordi den ikke tillader applikationen af opdyrke modtagerens addresse for de afsendte data.

Følgende parametre anvendes:

fd
Angiver socket file descriptor.
buf
Peger til hvor message findes der skal sendes.
n
Angiver længden af buf
flags
Angiver typen af message der sendes. Værdien er formet af logisk OR'er hvis flere at følgende typer ønskes:
MSG_EOR
Afslutter en record (hvis protokollen supporterer dette).
MSG_OOB
Sender out-of-band data på en protokol der supporterer out-of-band transmission. Betydningen og semantikken for out-of-band data er protokol-specifik.

Længden af message der sendes angives i n parameteren. Hvis message er for lang i forhold den underliggende protokol fejler funktionen og der sendes ingen data.

Om en message rent faktisk når frem til modtageren afspejles ikke af returværdien der kun afspejler fejl der er fundet lokalt. Det kan også betyde af funktionen kan returnere værdien -1 (fejl), men transmissionen kan godt nå frem til modtageren.

Hvis nødvendig plads ikke er tilgængelig ved socket der sender for den message der skal sendes og socket file descriptor ikke har O_NONBLOCK sat skal funktionen blokere indtil krævet plads er tilgængelig. Hvis nødvendig plads ikke er tilgængelig ved socket der sender for den message der skal sendes og socket file descriptor har O_NONBLOCK sat skal funktionen fejle. Funktionerne select() og poll() kan anvendes til at afgøre om det er muligt at sende flere data.

Socket'en der anvendes kan kræve at process har nødvendige rettigheder for at anvende funktionen.

Retur værdi

Ved success returnerer funktionen antallet af bytes sendt. Ellers returneres -1 og errno sættes til at give årsagen på fejlen.

Fejl

Funktionen skal fejle hvis:

[EAGAIN] eller [EWOULDBLOCK]
Socket file descriptor er markeret O_NONBLOCK og operationen vil blokere.
[EBADF]
Parameteren fd er ikke en valid file descriptor.
[ECONNRESET]
En forbindelse blev forceret nedlukket af fjernenden af forbindelsen.
[EDESTADDRREQ]
Socket er ikke forbindelses-orienteret og fjernendens adresse er ikke sat.
[EINTR]
Modtager funktionen blev afbrudt af et indfanget signal før data blev tilgængelige.
[EMSGSIZE]
Message er for stor til at kunne sende på en gang som denne socket kræver det.
[ENOTCONN]
Socket er ikke forbundet eller socket kender ikke fjernenden.
[ENOTSOCK]
Parameter fd refererer ikke til en socket.
[EOPNOTSUPP]
Denne option er ikke supporteret af protokollen.
[EOPNOTSUPP]
Parameter fd er associeret med en socket der ikke tillader en eller flere af værdierne for flags..
[EPIPE]
Socket er nedlukket for skrivning eller socket er forbindelses-orienteret og ikke længere forbundet. I det sidste tilfælde hvis socket er af typen SOCK_STREAM, genereres SIGPIPE signal til den kaldende tråd.

Funktionen kan fejle hvis:

[EACCES]
Den kaldende process har ikke de fornødne rettigheder.
[EIO]
En I/O fejl opstod medens læsning eller skrivning til fil-systemet pågik.
[ENETDOWN]
Det lokale netværksinterface anvendt til at nå destinationen er nede.
[ENETUNREACH]
Ingen rute til dette netværk er tilgængelig.
[ENOBUFS]
Utilstrækkelige ressourcer tilstede i systemet for at gennemføre kaldet.
[ENOMEM]
Der var ikke tilstrækkeligt med memory tilgængelig for at fuldføre operationen.

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 Et folk der sætter sine privilegier højere end sine principper, mister hurtigt begge dele.

Dwight David Eisenhower 1890-1969, amerikansk general, USA's 34. præsident.



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