CONNECT
Section: ¸®´ª½º ÇÁ·Î±×·¡¸Ó ¸Å´º¾ó (2)
Updated: 1998³â 10¿ù 3ÀÏ
Index
Return to Main Contents
À̸§
connect - ¼ÒÄÏ ¿¬°áÀ» ½ÃÀÛÇÑ´Ù.
»ç¿ë¹ý
#include <sys/types.h>
#include <sys/socket.h>
int connect(int sockfd, const struct sockaddr *serv_addr,
socklen_t addrlen);
¼³¸í
ÆÄÀÏ ±â¼úÀÚ
sockfd
´Â ¼ÒÄÏÀ» °¡¸®ÄÑ¾ß ÇÑ´Ù.
¸¸ÀÏ ¼ÒÄÏÀÌ
SOCK_DGRAM
ŸÀÔÀ̶ó¸é
serv_addr
ÁÖ¼Ò´Â ±âº»ÀûÀ¸·Î º¸³½ µ¥ÀÌÅͱ׷¥ÀÇ ÁÖ¼ÒÀÌ¸ç ¹ÞÀº µ¥ÀÌÅͱ׷¥ÀÇ À¯ÀÏÇÑ
ÁÖ¼ÒÀÌ´Ù. ¸¸ÀÏ ¼ÒÄÏÀÌ
SOCK_STREAM
³ª
SOCK_SEQPACKETÀ̶ó¸é,
ÇÔ¼ö´Â ´Ù¸¥ ¼ÒÄÏ¿¡ ´ëÇÑ ¿¬°áÀ» ¸¸µç´Ù.
´Ù¸¥ ¼ÒÄÏÀº
serv_addr¿¡
ÀÇÇØ ¸í½ÃµÇ¸ç, ÀÌ°ÍÀº ¼ÒÄÏÀÇ Åë½Å °ø°£¿¡ ÀÖ´Â ÁÖ¼Ò(
addrlen±æÀÌ)
ÀÌ´Ù.
°¢°¢ÀÇ Åë½Å °ø°£µéÀº ÀÚ½ÅÀÇ ¹æ½Ä´ë·Î
serv_addr
ÀÎÀÚ¸¦ Çؼ®ÇÑ´Ù.
ÀϹÝÀûÀ¸·Î, ¿¬°á ÁöÇâ ÇÁ·ÎÅäÄÝ ¼ÒÄϵéÀº ¼º°øÀûÀ¸·Î Çѹø¿¡
connect
ÇÑ´Ù; ºñ¿¬°á ÁöÇâ ÇÁ·ÎÅäÄÝ ¼ÒÄϵéÀº À̰͵éÀÇ °ü·Ã»çÇ×À» ¹Ù²Ù±â À§ÇØ
¿©·¯¹ø
connect
¸¦ »ç¿ë ÇÑ´Ù.
ºñ ¿¬°á ÁöÇâ ¼ÒÄϵéÀº
sockaddr
ÀÇ
sa_family
¸â¹ö°¡ °¡Áö°í ÀÖ´Â ÁÖ¼Ò¸¦
AF_UNSPECÀ¸·Î
¼³Á¤ÇÏ°í ¿¬°áÇÏ¿© °ü·Ã»çÇ×µéÀ» ¾ø¾Ø´Ù.
¹Ýȯ°ª
¸¸ÀÏ ¿¬°áÀ̳ª ¹ÙÀεùÀÌ ¼º°øÇÑ´Ù¸é, 0ÀÌ ¹ÝȯµÈ´Ù.
¿¡·¯½Ã, -1ÀÌ ¹ÝȯµÇ¸ç
errno
´Â Àû´çÇÑ °ªÀ¸·Î ¼³Á¤µÈ´Ù.
¿¡·¯
´ÙÀ½°ÍÀ»Àº ´ÜÁö ÀϹÝÀû ¼ÒÄÏ ¿¡·¯µéÀÌ´Ù. ¿©±â¿¡´Â ´Ù¸¥ µµ¸ÞÀο¡ ÀÇÁ¸ÇÑ ¿¡·¯µéÀÌ
ÀÖÀ»¼ö ÀÖ´Ù.
- EBADF
-
ÆÄÀÏ ±â¼úÀÚ°¡ ±â¼úÀÚ Å×ÀÌºí¿¡ ÀÖ´Â À¯È¿ÇÑ À妽º°¡ ¾Æ´Ï´Ù.
- EFAULT
-
¼ÒÄÏ ±¸Á¶Ã¼ ÁÖ¼Ò°¡ »ç¿ëÀÚÀÇ ÁÖ¼Ò°ø°£¿Ü¿¡ ÀÖ´Ù.
- ENOTSOCK
-
ÆÄÀÏ ±â¼úÀÚ°¡ ¼ÒÄÏ°ú °ü·ÃµÇ¾î ÀÖÁö ¾Ê´Ù.
- EISCONN
-
¼ÒÄÏÀÌ ÀÌ¹Ì ¿¬°áµÇ¾î ÀÖ´Ù.
- ECONNREFUSED
-
¿ø°Ý ÁÖ¼Ò¿¡ ´ëÇØ ±â´Ù¸®°í ÀÖ´Â °ÍÀÌ Çϳªµµ ¾ø´Ù.
- ETIMEDOUT
-
¿¬°á ½ÃµµÁß Å¸ÀӾƿôÀÌ ¹ß»ýÇß´Ù. ¼¹ö´Â ³Ê¹« busy »óÅÂÀÌ¾î¼ »õ ¿¬°áÀ»
¹Þ¾ÆµéÀϼö ¾ø´Ù. IP ¼ÒÄÏ¿¡¼ µ¿±âÈ°¡ ¼¹ö¿¡¼ °¡´ÉÇÒ°æ¿ì ¸Å¿ì ¿À·¡
°É¸°´Ù´ÂÁ¡À» ÁÖÀÇÇضó.
- ENETUNREACH
-
³×Æ®¿öÅ©¿¡ µµ´ÞÇÒ¼ö ¾ø´Ù.
- EADDRINUSE
-
·ÎÄà ÁÖ¼Ò°¡ ÀÌ¹Ì »ç¿ëÁßÀÌ´Ù.
- EINPROGRESS
-
¼ÒÄÏÀÌ ºñ-ºí·°Å·ÀÌ¸ç ¿¬°áÀÌ Áï½Ã ¿Ï¼ºµÉ¼ö ¾ø´Ù.
¾²±â¸¦ À§ÇØ ¼ÒÄÏÀ» ¼±ÅÃÇÏ¿© ¿¬°á ¿Ï¼ºÀ» À§Çؼ
select(2)³ª
poll(2)À¸·Î
°¡´ÉÇÏ´Ù.
select
°¡ ¾²±â°¡´ÉÀ» °¡¸®Å²ÈÄ,
connect
ÀÌ ¼º°øÀû
(SO_ERROR
´Â 0ÀÌ´Ù)À¸·Î ³¡³µ´ÂÁö ¾Æ´ÑÁö
(SO_ERROR
´Â ½ÇÆп¡ ´ëÇÑ ÀÌÀ¯¸¦ ¼³¸íÇÏ¸é¼ ¿©±â¿¡¼ ³ª¿µÈ º¸ÅëÀÇ ¿¡·¯Á¶°ÇµéÁß ÇϳªÀÌ´Ù.)
¸¦ °áÁ¤Çϱâ À§Çؼ
SOL_SOCKET
·¹º§ÀÇ
SO_ERROR
¿É¼ÇÀ» ÀбâÀ§ÇØ
getsockopt(2)À»
»ç¿ëÇضó.
- EALREADY
-
¼ÒÄÏÀÌ ºñ-ºí·°Å·ÀÌ°í Àü ¿¬°á ½Ãµµ°¡ ¾ÆÁ÷ ¿ÏÀüÇÏÁö ¾Ê´Ù.
- EAGAIN
-
»ç¿ëÇÒ¼ö ÀÖ´Â ·ÎÄà Æ÷Æ®°¡ ´õÀÌ»ó ¾ø°Å³ª ¶ó¿ìÆà ij½Ì¿¡ ¿£Æ®¸®°¡ ÃæºÐÇÏÁö ¾Ê´Ù.
PF_INET
½Ã ·ÎÄà Æ÷Æ®ÀÇ ¼ö¸¦ Áß°¡½ÃÅ°±â À§Çؼ´Â
ip(7)¿¡
ÀÖ´Â
net.ipv4.ip_local_port_range
sysctlÀ» Âü°íÇضó.
- EAFNOSUPPORT
-
Àü´ÞµÈ ÁÖ¼Ò°¡
sa_family
Çʵ忡 ÀÖ´Â Á¤È®ÇÑ ÁÖ¼Ò °¡Á·À» °¡Áö°í ÀÖÁö ¾Ê´Ù.
- EACCES, EPERM
-
»ç¿ëÀÚ°¡ ¼ÒÄÏ ºê·Îµåij½ºÆ® Ç÷¡±×¸¦ °¡´ÉÇÏ°Ô ÇÏÁö ¾Ê°í ÁÖ¼Ò¸¦ ºê·¯µåij½ºÆ®
ÁÖ¼Ò¿¡ ¿¬°áÇÒ·Á°í ½Ãµµ Ç߰ųª ·ÎÄà ¹æȺ® ±ÔÄ¢¶§¹®¿¡ ¿¬°á ¿ä±¸°¡ ½ÇÆÐÇß´Ù.
ȣȯ
SVr4, 4.4BSD (
connect
ÇÔ¼ö´Â BSD4.2¿¡¼ óÀ½ ³ªÅ¸³µ´Ù.). SVr4´Â Ãß°¡ÀûÀ¸·Î ÀϹÝÀû ¿¡·¯ Á¶°Çµé
EADDRNOTAVAIL,
EINVAL,
EAFNOSUPPORT,
EALREADY,
EINTR,
EPROTOTYPE,
±×¸®°í
ENOSR¸¦
¹®¼È Çß´Ù.
¿©±â¼ ±â¼úÇÏÁö ¾ÊÀº ¸¹Àº Ãß°¡Àû ¿¡·¯ Á¶°Çµéµ¹ ¿ª½Ã ¹®¼È µÇ¾ú´Ù.
ÁÖÀÇ
connect
ÀÇ ¼¼¹øÂÅ ÀÎÀÚ´Â ½ÇÁ¦·Î intÀÌ´Ù(±×¸®°í ÀÌ°ÍÀº BSD 4.*¿Í libc4, libc5°¡ °¡Áö°í
ÀÖ´Ù.) ¸î¸î POSIX¿¡¼ È¥¶õÀº socklen_t ¶§¹®ÀÌ´Ù.
Ç¥ÁØÀº ¾ÆÁ÷ äÅõÇÁö ¾Ê¾ÒÁö¸¸ glibc2´Â ÀÌ¹Ì ±×°ÍÀ» µû¸£°í ÀÖ°í ¶ÇÇÑ
socklen_tµµ °¡Áö°í ÀÖ´Ù.
¹ö±×
AF_UNSPEC
ÁַηÎ
connect
¸¦ È£ÃâÇÏ¿© ¼ÒÄÏÀÇ Á¢¼ÓÀ» ³¡´Â°ÍÀº ¾ÆÁ÷ ¼öÇàµÇÁö ¾Ê´Â´Ù.
°ü·Ã Ç׸ñ
accept(2),
bind(2),
listen(2),
socket(2),
getsockname(2)
¿ªÀÚ
Á¤°ÈÆ <skyeyes@soback.kornet.net>, 2000³â 7¿ù 3ÀÏ
Index
- À̸§
-
- »ç¿ë¹ý
-
- ¼³¸í
-
- ¹Ýȯ°ª
-
- ¿¡·¯
-
- ȣȯ
-
- ÁÖÀÇ
-
- ¹ö±×
-
- °ü·Ã Ç׸ñ
-
- ¿ªÀÚ
-
This document was created by
man2html,
using the manual pages.
Time: 08:06:59 GMT, March 25, 2004