socket

SOCKET(2)                  Linux Programmer's Manual                 SOCKET(2)



ì´ë¦
       socket - íµì ì ìí´ ë§ë¨(endpoint)를 ìì±íë¤.

ì¬ì©ë²
       #include <sys/types.h>
       #include <sys/socket.h>

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

ì¤ëª
       Socket ì íµì ì ìí ì¢ì (endpoint)를 ìì±íê³  ëì¤í¬ë¦½í°ë¥¼ ë°ííë¤.

       ëë©ì¸ 매ê°ë³ìë íµì  ëë©ì¸ì ì§ì íë¤; ì´ê²ì íµì ì ì¬ì©ëì´ ì§ íë¡í ì½
       í¨ë°ë¦¬ë¥¼ ì ííë¤.  ì´ë¬í íë¡í ì½ í¨ë°ë¦¬ë¤ì <sys/socket.h> ìì ì ìëë¤.
       íì¬ ì°ì¬ì§ë í¬ë§·ì ë¤ìì í¬í¨íë¤:

       tab(:); l l l.  Name:Purpose:Man page T{ PF_UNIX,PF_LOCAL T}:T{ Local
       communication T}:T{ unix(7) T} T{ PF_INET T}:IPv4 Internet protocols:T{
       ip(7) T} T{ PF_INET6 T}:IPv6 Internet protocols: T{ PF_IPX T}:IPX -
       Novell protocols: T{ PF_NETLINK T}:T{ Kernel user interface device
       T}:T{ netlink(7) T} T{ PF_X25 T}:ITU-T X.25 / ISO-8208 protocol:T{
       x25(7) T} T{ PF_AX25 T}:T{ Amateur radio AX.25 protocol T}: T{
       PF_ATMPVC T}:Access to raw ATM PVCs: T{ PF_APPLETALK T}:Appletalk:T{
       ddp(7) T} T{ PF_PACKET T}:T{ Low level packet interface T}:T{ packet(7)
       T}

       ìì¼ì ì§ìë íµì  semantics를 ì§ì íë type ì ê°ëë¤.  íì¬ ì ìë íìì ë¤ìê³¼
       ê°ë¤:

       SOCK_DGRAM
              ë°ì´íê·¸ë¨ ì§ì

       SOCK_RAW
              raw network protocol ì ê·¼ ì§ì.

       SOCK_RDM
              ë³´ì¦ì ì구íì§ ìë ë°ì´íê·¸ë¨ ë ì´ì´ì§ì.

       SOCK_PACKET
              ìë¡ì´ íë¡ê·¸ë¨ìì ì ì°ì´ì§ ìëë¤; packet(7) ì 본ë¤.

       ëªëª ìì¼íìì ëª¨ë  íë¡í ì½êµ°ì ìí´ êµ¬íëì´ì§ì§ ìì ê²ì´ë¤; ì를ë¤ë©´,
       SOCK_SEQPACKET ë AF_INET ë문ì 구íëì§ ìëë¤.

       íë¡í ì½ ì ìì¼ì ì¬ì©í기 ìí´ í¹ì  íë¡í ì½ì ì§ì íë¤. ì±ê¸ íë¡í ì½ì
       주ì´ì§ íë¡í ì½êµ°ìì í¹ì  ìì¼íìì ì§ìíëë¡ ì¡´ì¬íë¤. ê·¸ë¬ë, í¹ì
       íë¡í ì½ì´ ë°©ë²ì¼ë¡ ì§ì ëì´ì¼ë§íë ê³³ì ë§ì íë¡í ì½ì´ ì¡´ì¬ê°ë¥íë¤.

       SOCK_STREAM íìì ìì¼ì full-duplex byte streamsì´ë¤. ê·¸ê²ë¤ì ë ì½ë
       ê²½ê³ë¥¼ ë³´í¸íì§ ìëë¤.  ì¤í¸ë¦¼ ìì¼ì ëª¨ë  ë°ì´íê° ê·¸ê²ì¼ë¡ ì¡ìì
       ë기ì ì ì ì ìíì´ì´ì¼íë¤. ë¤ë¥¸ ìì¼ê³¼ì ì ìì connect(2) í¸ì¶ë¡ ìì±íë¤.
       íë² ì ìì ë°ì´íë read(2) ì write(2) í¸ì¶ í¹ì send(2) ì recv(2) í¸ì¶ ì
       ëªëª ë³ì를 ì¬ì©í´ ì ì¡íë¤.  ì¸ìì´ ìë²½í ë close(2) ë ì¤íëë¤. Out-of-
       band ìì´íë ëí send(2) ì ì¤ëªëë¡ ì ì¡ëê³  recv(2) ì ì¤ëªëë¡ ìì ëë¤.

       SOCK_DGRAM ì SOCK_RAW ìì¼ì send(2) í¸ì¶ì ì§ì ë correspondentsë¡
       ë°ì´íê·¸ë¨ì ì¡ì ì íë½íë¤.  ë°ì´íê·¸ë¨ì ëê° ë¤ì ë°ì´íê·¸ë¨ì ë°ííë
       recvfrom(2) ë¡ ìì ëë¤.

       SOCK_PACKET ì ì¥ì¹ ëë¼ì´ë²ë¡ë¶í° ì§ì  rawí¨í·ì ë°ë ì°ì´ì§ ìë ìì¼íìì´ë¤.
       ëì  packet(7) ì ì¬ì©íë¤.

       ìì¼ì ìì©ì ìì¼ë 벨 ìµìì ìí´ ì ì´ëë¤. ì´ë¬í ìµìë¤ì <sys/socket.h> ì ì ì
       ëì´ìë¤.  Setsockopt(2) ì getsockopt(2) ë ìµìì ì¤ì íê³  ì»ëë° ì¬ì©ëë¤.

ë°íê°
       ìë¬ì, -1ì´ ë°íëë¤; ê·¸ ë°ì ë°íê°ì ëì¤í¬ë¦½í° 참조ìì¼ì´ë¤.

ìë¬
       EPROTONOSUPPORT
              íë¡í ì½ íìì´ë ì§ì ë íë¡í ì½ì ì´ ëë©ì¸ìì ì§ìëì§ ìëë¤.

       ENFILE ìë¡ì´ ìì¼êµ¬ì¡°ë¥¼ ì§ì í기ì 커ëë©ëª¨ë¦¬ê° ë¶ì¡±íë¤.

       EMFILE íë¡ì¸ì¤ íì¼ íì´ë¸ì´ overflow.

       EACCES ì§ì ë íìì ìì±ë ìì¼ì´ë íë¡í ì½ ê¶íì´ ê±°ë¶ëìë¤.

       ENOBUFS or ENOMEM
              ë©ëª¨ë¦¬ê° ë¶ì¡±íë¤. ìì¼ì í리ë©ëª¨ë¦¬ê° ì길ë ê¹ì§ ìì±ë  ì ìë¤.

       EINVAL ìë ¤ì§ì§ ìì íë¡í ì½ì´ë íë¡í ì½êµ°ì¼ë¡ ì í¨íì§ ìë¤.

       ë¤ë¥¸ ìë¬ë íë¡í ì½ ëª¨ëììí´ ìì±ëë¤.

í¸í
       4.4BSD (the socket í¨ì í¸ì¶ì 4.2BSDìì ì ë³´ìë¤). ëê° ë¹-bsdìì¤íììë
       bsdìì¼ë ì´ì´ì í´ë¡ ì ì§ìíë¤.

ë²ê·¸
       SOCK_UUCP ë ìì§ êµ¬íëì§ ììë¤.

ê´ë ¨ í목
       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” is
       reprinted in UNIX Programmer's Supplementary Documents Volume 1.

       “BSD Interprocess Communication Tutorial” is reprinted in UNIX
       Programmer's Supplementary Documents Volume 1.

ìì
       ASPLINUX, 2000ë 7ì 29ì¼



Linux Man Page                    24 Apr 1999                        SOCKET(2)