BIND

Section: ¸®´ª½º ÇÁ·Î±×·¡¸Ó ¸Å´º¾ó (2)
Updated: 1998³â 10¿ù 3ÀÏ
Index
Return to Main Contents
 

À̸§

bind - ¼ÒÄÏ¿¡ À̸§À» ¹­´Â´Ù.  

»ç¿ë¹ý

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

int bind(int sockfd, struct sockaddr *my_addr, socklen_t addrlen);  

¼³¸í

bind ´Â ¼ÒÄÏ sockfd ¿Í ·ÎÄà ÁÖ¼Ò my_addr¸¦ ÁØ´Ù. my_addr ´Â long Çü addrlen ¹ÙÀÌÆ®ÀÌ´Ù. ÀüÅëÀûÀ¸·Î, ÀÌ°ÍÀº lqÀ̸§À» ¼ÒÄÏ¿¡ ÇÒ´çÇϱârq ¶ó°í ºÒ¸®¾îÁø´Ù. ¼ÒÄÏÀÌ socket(2)À¸·Î »ý¼ºµÇ¾úÀ»¶§, ±×°ÍÀº À̸§ °ø°£(address family)¿¡ Á¸ÀçÇÏÁö¸¸ ÇÒ´çµÈ À̸§À» °¡Áö°í Àִ°ÍÀº ¾Æ´Ï´Ù.

SOCK_STREAM ¼ÒÄÏÀÌ ¿¬°áµéÀ» ¹Þ±â Àü¿¡ bind ¸¦ »ç¿ëÇÏ¿© ·ÎÄà ÁÖ¼Ò¸¦ ÇÒ´çÇÏ´Â °ÍÀÌ º¸Åë ÇʼöÀûÀÌ´Ù. accept(2)¸¦ ÂüÁ¶Çضó).  

ÁÖÀÇ

À̸§ ¹­±â½Ã »ç¿ëµÇ´Â ±ÔÄ¢µéÀº ÁÖ¼Ò °¡Á·(address families)µé¸¶´Ù ´Ù¸£´Ù. ¼¼ºÎ »çÇ×À» À§Çؼ­ Section 7¿¡ ÀÖ´Â ¸Þ´º¾óÀ» ÂüÁ¶Çضó. AF_INET ¸¦ À§Çؼ­´Â ip(7)¸¦, AF_UNIX ¸¦ À§Çؼ­´Â unix(7)¸¦, AF_APPLETALK ¸¦ À§Çؼ­´Â ddp(7)¸¦, AF_PACKET ¸¦ À§Çؼ­´Â packet(7)¸¦, AF_X25 ¸¦ À§Çؼ­´Â x25(7)¸¦ ±×¸®°í AF_NETLINK ¸¦ À§Çؼ­´Â netlink(7)¸¦ Âü°íÇضó.

 

¹Ýȯ°ª

¼º°ø½Ã, 0ÀÌ ¹ÝȯµÈ´Ù. ¿¡·¯½Ã, -1ÀÌ ¹ÝȯµÇ¸ç, errno ´Â Àû´çÇÑ °ªÀ¸·Î ¼³Á¤µÈ´Ù.  

¿¡·¯

EBADF
sockfd °¡ À¯È¿ÇÑ ±â¼úÀÚ°¡ ¾Æ´Ï´Ù.
EINVAL
¼ÒÄÏ°¡ ÀÌ¹Ì ¹­¿©Á® ÀÖ´Ù. ÀÌ°ÍÀº ¾ÕÀ¸·Î ¹Ù²ð°ÍÀÌ´Ù:¼¼ºÎ »çÇ×À» º¼·Á¸é linux/unix/sock.c ¸¦ Âü°íÇضó.
EACCES
ÁÖ¼Ò°¡ º¸È£µÇ¾î ÀÖÀ¸¸ç, »ç¿ëÀÚ´Â ½´ÆÛ À¯Àú°¡ ¾Æ´Ï´Ù.
ENOTSOCK
ÀÎÀÚ°¡ ¼ÒÄÏÀÌ ¾Æ´Ï¶ó ÆÄÀÏÀ» À§ÇÑ ±â¼úÀÚÀÌ´Ù.

´ÙÀ½ ¿¡·¯µéÀº UNIX µµ¸ÞÀÎ (AF_UNIX)¼ÒÄϵéÀ» À§ÇÑ °ÍµéÀÌ´Ù.:

EINVAL
addrlen °¡ À߸øµÇ°Å³ª, ¼ÒÄÏÀÌ AF_UNIX °¡Á·ÀÌ ¾Æ´Ï´Ù.
EROFS
¼ÒÄÏ ¾ÆÀ̳ëµå°¡ Àбâ-Àü¿ë ÆÄÀÏ ½Ã½ºÅÛ¿¡ ÀÖ´Ù.
EFAULT
my_addr °¡ »ç¿ëÀÚ°¡ Á¢±ÙÇÒ¼ö ÀÖ´Â Á¶¼Ò °ø°£¿Ü¸¦ °¡¸®Å°°í ÀÖ´Ù.
ENAMETOOLONG
my_addr °¡ ³Ê¹« ±æ´Ù.
ENOENT
ÆÄÀÏÀÌ Á¸ÀçÇÏÁö ¾Ê´Â´Ù.
ENOMEM
ÀÌ¿ëÇÒ¼ö ÀÖ´Â Ä¿³Î ¸Þ¸ð¸®°¡ ÃæºÐÇÏÁö ¾Ê´Ù.
ENOTDIR
°æ·Î Á¢µÎ»ç ¿ä¼Ò°¡ µð·ºÅ丮°¡ ¾Æ´Ï´Ù.
EACCES
°æ·Î Á¢µÎ»ç ¿ä¼Ò¿¡ ´ëÇÑ °Ë»ö Çã°¡±ÇÀÌ °ÅºÎµÇ¾ú´Ù.
ELOOP
³Ê¹« ¸¹Àº »ó¡ ¿¬°áµéÀ» my_addr½Ã¿¡ ¸¸³µ´Ù.
 

¹ö±×

Åõ¸íÇÑ ÇÁ·Ï½Ã ¿É¼ÇµéÀº ±â¼úµÇÁö ¾Ê¾Ò´Ù.  

ȣȯ

SVr4, 4.4BSD ( bind ÇÔ¼ö´Â BSD4.2¿¡¼­ óÀ½ ³ªÅ¸³µ´Ù.) SVr4´Â Ãß°¡ÀûÀ¸·Î EADDRNOTAVAIL, EADDRINUSE¸¦,±×¸®°í ÀϹÝÀû ¿¡·¯ Á¶°ÇµéÀÎ ENOSR ¸¦, ±×¸®°í Unix-µµ¸ÞÀÎ ¿¡·¯ Á¶°ÇµéÀÎ EIO, EISDIR ±×¸®°í EROFS ¸¦ ¹®¼­È­ Çß´Ù.  

ÁÖÀÇ

bind ÀÇ 3¹ø° ÀÎÀÚ´Â ½ÇÁ¦·Î intÀÌ´Ù.(±×¸®°í ÀÌ°ÍÀº BSD 4.* ¿Í libc4, libc5°¡ °¡Áö°í ÀÖ´Â °ÍÀÌ´Ù.) ¸î¸î POSIX µéÀº ÇöÀçÀÇ socklen_t ¶§¹®¿¡ ¾à°£ È¥¶õ½º·´´Ù. Ç¥ÁØÀº ¾ÆÁ÷ äÅõÇÁö ¾Ê¾ÒÁö¸¸, glibc2´Â ÀÌ¹Ì ±×°ÍÀ» µû¸£°í ÀÖ°í ¶ÇÇÑ socklen_t¸¦ °¡Áö°í ÀÖ´Ù. accept(2)¸¦ Âü°íÇضó.  

°ü·Ã Ç׸ñ

accept(2), connect(2), listen(2), socket(2), getsockname(2), ip(7), socket(7)  

¿ªÀÚ

Á¤°­ÈÆ <skyeyes@soback.kornet.net>, 2000³â 7¿ù 2ÀÏ


 

Index

À̸§
»ç¿ë¹ý
¼³¸í
ÁÖÀÇ
¹Ýȯ°ª
¿¡·¯
¹ö±×
ȣȯ
ÁÖÀÇ
°ü·Ã Ç׸ñ
¿ªÀÚ

This document was created by man2html, using the manual pages.
Time: 08:07:00 GMT, March 25, 2004