Provided by: manpages-cs_0.18.20090209-3_all bug

JM'ENO

       socket - vytvo soket

SYNTAXE

       #include <sys/types.h>
       #include <sys/socket.h>

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

POPIS

       Socket vytvoi soket a vrati jeho deskriptor.

       Parametr   domain   specifikuje  jmenny  prostor,  ve  kterem  se  bude
       komunikace odehravat; tim je zvolena i rodina protokol, ktere mohou byt
       pouity.  Tyto rodiny jsou definovany v hlavikovem souboru sys/socket.h.
       V souasne dob jsou podporovany tyto formaty:

              AF_UNIX  (interni protokol UNIXu)

              AF_INET  (Internetovy jmenny prostor)

              AF_ISO   (protokoly ISO)

              AF_NS    (protokoly Xerox Network Systems)

              AF_IMPLINK
                       (IMP "host at IMP" link layer)

       Soket ma typ type, ktery specifikuje komunikani styl. Podporovane  typy
       jsou:

              SOCK_STREAM
              SOCK_DGRAM
              SOCK_RAW
              SOCK_SEQPACKET
              SOCK_RDM

       A  SOCK_STREAM poskytuje sekvenni, spolehlivou a dvoustrannou proudovou
       komunikaci.  Me byt  podporovan  mechanismus  penosu  out-of-band  dat.
       SOCK_DGRAM  soket podporuje datagramy (nespojovane, nespolehlive zpravy
       pevne (typicky male) maximalni delky).  SOCK_SEQPACKET soket  poskytuje
       sekvenni,   spolehlivy,  dvojstranny  penos  dat  pro  datagramy  pevne
       maximalni delky; konzument me ist tato data volanim jadra. Tento typ je
       v souasne dob implementovan pouze pro AF_NS.  SOCK_RAW poskytuje pistup
       k internim siovym protokolm a rozhranim.  Typy  SOCK_RAW,  ktery  je  k
       dispozici  pouze  superuivateli  a SOCK_RDM, ktery je planovan, ale jet
       neni implementovan, zde nejsou popsany.

       Argument protocol specifikuje, ktery konkretni protokol ma  byt  pouit.
       Normaln  existuje  pouze  jeden  protokol,  ktery  se da pouit u soketu
       konkretniho typu a dane rodiny protokol.  Ale  je  samozejm  mone,  aby
       existovalo  protokol  vice.  islo  protokolu  zavisi na pouitem jmennem
       prostoru, blii informace naleznete v protocols(5).

       Sokety typu SOCK_STREAM jsou pln duplexni proudy  dat  podobne  rouram.
       Proudovy  soket  musi  byt spojen ped tim, ne pijme nebo pole jakakoliv
       data. Spojeni s jinym soketem se provadi volanim  connect(2).   Jestlie
       bylo  spojeni  navazano, mohou byt penaena data pomoci volani read(2) a
       write(2) nebo nkterou variantou volani send(2) a recv(2).  Je-li sezeni
       ukoneno,  mete  zavolat  funkci  close(2).   Out-of-band data mohou byt
       poslana. Konkretni informace najdete v send(2).  Out-of-band data mohou
       byt pijata volanim recv(2).

       Komunikani protokoly, ktere implementuji SOCK_STREAM zaruuji, e data se
       neztrati a ani nebudou duplikovana. Je-li ast  dat,  pro  kterou  je  k
       dispozici  prostor ve vyrovnavaci pamti, nedoruena po rozumnou dobu, je
       spojeni prohlaeno za  peruene  a  volani  budou  vracet  chyby  (-1)  a
       globalni promnna errno bude nastavena na ETIMEDOUT .

       Nktere protokoly uchovavaji sokety v innosti tim, e piblin kadou minutu
       posilaji packet, nevyskytuje-li se jina aktivita. Neobjevi-li se  odpov
       po deli dobu (nap. 5 minut), je opt indikovana chyba. Signal SIGPIPE je
       poslan procesu, jestlie proces pole data  do  "rozbiteho"  proudu.   To
       zpsobi, e "naivni" procesy, ktere neobsluhuji tento signal skoni.

       SOCK_SEQPACKET  sokety  pouivaji stejna volani jako SOCK_STREAM sokety.
       Jedinym rozdilem je, e volani read(2) vraci pouze poadovane mnostvi dat
       a ostatni data budou zniena.

       SOCK_DGRAM   a   SOCK_RAW   sokety  povoluji  posilani  paket  adresatm
       specifikovanym ve volani  send(2).   Datagramy  jsou  obvykle  pijimany
       pomoci  volani recvfrom(2), ktere vraci dali datagram s jeho navratovou
       adresou.

       Volani fcntl(2) me byt pouito ke specifikovani  skupiny  proces,  ktere
       obdri  signal  SIGURG  pi  pichodu  out-of-band  dat.  Me  take povolit
       neblokujici vstupn-vystupni operace pipadn asynchronni  hlaeni  vstupn-
       vystupnich udalosti signalem SIGIO.

       Operace  soketu jsou izeny volbami soket. Tyto volby jsou specifikovany
       v hlavikovem souboru sys/socket.h.  Setsockopt(2)  a  getsockopt(2)  se
       pouivaji pro jejich nastaveni a k ziskani jejich aktualniho stavu.

N'AVRATOV'A HODNOTA

       -1  je  vracena,  jestlie  nastala  chyba,  jinak  je vracen deskriptor
       soketu.

CHYBY

       EPROTONOSUPPORT
               Komunikani styl nebo protokol  neni  podporovan  specifikovanym
               jmennym prostorem.

       EMFILE  Tabulka deskriptor procesu je zaplnna.

       ENFILE  Tabulka otevenych soubor systemu je zaplnna.

       EACCESS Nemate   pravo   vytvoit   soket  specifikovaneho  typu  a/nebo
               protokolu.

       ENOBUFS Nedostatek vyrovnavacich pamti. Soket neme byt  vytvoen,  dokud
               nedojde k uvolnni zdroj.

SPLUJE STANDARDY

       4.4BSD   (volani  jadra  socket  se  objevilo  v  4.2BSD).  Obvykle  je
       kompatibilni s ne-BSD systemy, ktere podporuji BSD Sokety (vetn variant
       Systemu V).

DAL'I INFORMACE

       accept(2),   bind(2),   connect(2),   getprotoent(3),   getsockname(2),
       getsockopt(2),  ioctl(2),  listen(2),  read(2),   recv(2),   select(2),
       send(2), shutdown(2), socketpair(2), write(2)

       "An  Introductory 4.3 BSD Interprocess Communication Tutorial" je znovu
       vydano v UNIX Programmer's Supplementary Documents Volume 1

       "BSD Interprocess  Communication  Tutorial"  je  znovu  vydano  v  UNIX
       Programmer's Supplementary Documents Volume 1

VAROV'AN'I

       Peklad   je   pravdpodobn   zastaraly.   Pokud  chcete  pomoci  s  jeho
       aktualizaci, zamite na http://man-pages-cs-wiki.homelinux.net/