ioctlsocket
ioctlsocket ÇÔ¼ö´Â ¼ÒÄÏÀÇ ÀÔÃâ·Â ¸ðµå¸¦ Á¦¾îÇÏ´Â ÇÔ¼öÀÔ´Ï´Ù.
int ioctlsocket (
SOCKET s,
long cmd,
u_long FAR* argp
);
Parameters
s
[ÀÔ·Â]
ÀÛ¾÷´ë»ó ¼ÒÄÏÀÇ ±â¼úÀÚ(descriptor)¸¦ ¸í½ÃÇÕ´Ï´Ù.
cmd
[ÀÔ·Â]
¼ÒÄÏ s°¡ ¼öÇàÇÒ Äĸǵå(command)
argp
[ÀÔ/Ãâ·Â]
command¿¡ ´ëÇÑ ÀÔ/Ãâ·Â ÆÄ¶ó¸ÞÅÍ·Î »ç¿ëµË´Ï´Ù.
Remarks
ioctlsocket ÇÔ¼ö´Â ƯÁ¤ÇÑ »óÅ·ΠÁöÁ¤ÇÑ ¼ÒÄÏÀ» Á¦¾îÇϴµ¥ »ç¿ëµË´Ï´Ù. ÀÌ ÇÔ¼ö´Â ¼ÒÄϰú ¿¬°üµÈ ¸Å°³º¯¼ö¸¦ ¹ÝȯÇϰųª, ¼³Á¤ ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¾Æ·¡¿¡ cmd ¸Å°³º¯¼ö¿Í »ç¿ë¹æ¹ý¿¡ ´ëÇØ¼ Áö¿øµÇ´Â Äĸǵ带 ³ª¿ÇØ º¸¾Ò½À´Ï´Ù. Âü°íÇϼ¼¿ä.
FIONBIO
argp ¸Å°³º¯¼ö°¡ 0ÀÌ ¾Æ´Ò °æ¿ì ¼ÒÄÏ sÀÇ ³Íºí·°Å·(ºñµ¿±â) ¸ðµå¸¦ Ȱ¼ºÈ ÇÕ´Ï´Ù. argp ¸Å°³º¯¼ö°¡ 0ÀÏ °æ¿ì´Â ³Íºí·°Å·(ºñµ¿±â) ¸ðµå´Â ºñȰ¼ºÈ µË´Ï´Ù. argp ¸Å°³º¯¼ö´Â unsigned long °ªÀ» Æ÷ÀÎÆ® ÇÕ´Ï´Ù. ¼ÒÄÏÀÌ »ý¼ºµÇ¾úÀ» ¶§´Â ±âº»ÀûÀ¸·Î ºí·ÏÅ·(µ¿±â) ¸ðµå·Î µ¿ÀÛÇÑ´Ù´Â »ç½ÇÀ» Âü°í·Î ¾Ë¾ÆµÓ½Ã´Ù.
WSAAsyncSelect ±×¸®°í WSAEventSelect ÇÔ¼ö´Â ¼ÒÄÏÀ» ³Íºí·°Å·(ºñµ¿±â) ¸ðµå·Î ¼³Á¤ÇÕ´Ï´Ù. ¸¸¾à WSAAsyncSelect ÇÔ¼ö³ª WSAEventSelect ÇÔ¼ö°¡ ¼ÒÄÏ¿¡ ´ëÇØ¼ ¼³Á¤ µÇ¾ú´Ù¸é, ioctlsocket ÇÔ¼ö¸¦ È£ÃâÇÏ¿© ºí·ÏÅ·(µ¿±â) ¸ðµå·Î ¼ÒÄÏÀ» ¼³Á¤ÇÏ·Á°í ÇÏ´Â ½Ãµµ´Â WSAEINVAL ¿¡·¯Äڵ带 µ¿¹Ý(?)ÇÑ ½ÇÆÐ·Î µ¹¾Æ°¥ °ÍÀÔ´Ï´Ù. ¼ÒÄÏÀ» ºí·ÏÅ· ¸ðµå·Î ¼³Á¤Çϱâ À§Çؼ ¾îÇø®ÄÉÀ̼ÇÀº IEvent ¸Å°³º¯¼ö¸¦ 0À¸·Î ÇØ¼ WSAAsyncSelect ÇÔ¼ö¸¦ È£ÃâÇϰųª INetworkEvents ¸Å°³º¯¼ö¸¦ 0À¸·Î ÇÏ¿© WSAEventSelect ÇÔ¼ö¸¦ È£ÃâÇØ¾ß¸¸ ÇÕ´Ï´Ù.
FIONREAD
³×Æ®¿÷ ÀÔ·Â ¹öÆÛ¿¡¼ ±â´Ù¸®°í ÀÖ´Â, ¼ÒÄÏ s·ÎºÎÅÍ ÀÐÀ» ¼ö ÀÖ´Â µ¥ÀÌÅÍÀÇ Å©±â(amount)¸¦ ¾ò¾î³»´Âµ¥ »ç¿ëµË´Ï´Ù. argp ¸Å°³º¯¼ö´Â µ¥ÀÌÅÍÀÇ Å©±â¸¦ ÀǹÌÇÏ´Â unsigned long ÇüÅ·ΠÆ÷ÀÎÆ® ÇÕ´Ï´Ù. ´Ù½Ã ¸»ÇÏÀÚ¸é, ¸¸¾à s ¸Å°³º¯¼ö°¡ ¿¬°áÁöÇâÇü(stream oriented) ¼ÒÄÏ(¿¹:SOCK_STREAM) ÀÏ °æ¿ì FIONREAD Äĸǵ忡 ÀÇÇÑ ioctlsocket ÇÔ¼öÀÇ È£ÃâÀº recv ÇÔ¼öÀÇ È£Ãâ·Î ÀÐÀ» ¼ö ÀÖ´Â µ¥ÀÌÅÍÀÇ Å©±â(amount)¸¦ ¹ÝȯÇÏ°Ô µÇ´Â°ÅÁÒ. ¸¸¾à ¼ÒÄÏÀÌ ¸Þ½ÃÁö ÁöÇâÇü(message oriented) ¼ÒÄÏ(¿¹:SOCK_DGRAM) ÀÏ °æ¿ì FIONREAD Äĸǵå´Â ¼ÒÄÏ¿¡ Å¥µÈ ù ¹øÂ° µ¥ÀÌÅͱ׷¥ÀÇ Å©±â¸¦ ¹Ýȯ ÇÕ´Ï´Ù.
SIOCATMARK
¼ÒÄÏÀ¸·ÎºÎÅÍ out-of-band µ¥ÀÌÅͰ¡ ¸ðµÎ ÀÐÇôÁ³´ÂÁö¸¦ ÆÇ´ÜÇϱâ À§ÇØ »ç¿ëµË´Ï´Ù. argp ÆÄ¶ó¸ÞÅÍ´Â ¹Ýȯ°ªÀÌ ÀúÀåµÈ boolean ·Î Æ÷ÀÎÆ® ÇÕ´Ï´Ù. ÀÐÇôÁö±â¸¦ ¿øÇÏ´Â out-of-band µ¥ÀÌÅͰ¡ ¾øÀ» °æ¿ì TRUE°¡ ¹ÝȯµÇ°í, ±×·¸Áö ¾ÊÀº °æ¿ì FALSE°¡ ¹Ýȯ µË´Ï´Ù. ÀÌ ¸í·ÉÀº setsockopt ÇÔ¼ö·Î SO_OOBINLINE ¿É¼ÇÀ» ¼³Á¤ÇÑ SOCK_STREAM ŸÀÔÀÇ ½ºÆ®¸² ¼ÒÄÏ¿¡¸¸ Àû¿ëµÉ ¼ö ÀÖ½À´Ï´Ù.
Compatibility
ioctlsocket ÇÔ¼ö´Â ¹öŬ¸® ¼ÒÄÏÀÇ ioctl ÇÔ¼ö¿Í ºñ±³ÇØ º¼ ¶§ ±ØÈ÷ ÀϺκп¡ ´ëÇØ¼¸¸ µ¿ÀÛ ÇÕ´Ï´Ù. ioctlsocket ÇÔ¼ö´Â ioctl ÇÔ¼öÀÇ FIOASYNC¿Í °°Àº ÄÄ¸ÇÆ® ¸Å°³º¯¼ö¸¦ Áö¿øÇÏÁö ¾Ê½À´Ï´Ù. ±×¸®°í, SIOCATMARK Äĸǵå´Â ioctrlsocket ÇÔ¼ö¿¡¼¸¸ Á¦°øµÇ´Â Äĸǵå ÀÔ´Ï´Ù.
Return Values
¼º°øÀûÀ¸·Î ÇÔ¼ö°¡ ¼öÇàÇϸé, ioctlsocket ÇÔ¼ö´Â 0À» ¹Ýȯ ÇÕ´Ï´Ù. ¿¡·¯°¡ ¹ß»ýÇÑ °æ¿ì´Â SOCK_ERRORÀ» ¹ÝȯÇϰí, WSAGetLastError ÇÔ¼ö¸¦ ÀÌ¿ëÇØ¼ ƯÁ¤ÇÑ ¿¡·¯Äڵ带 ¾òÀ» ¼ö ÀÖ½À´Ï´Ù.
Error Codes
WSANOTINITIALISED | ÀÌ ÇÔ¼ö¸¦ »ç¿ëÇϱâ Àü¿¡ ¼º°øÀûÀÎ WSAStartup ÇÔ¼öÀÇ È£ÃâÀÌ ¾ø¾ú½À´Ï´Ù. |
WSAENETDOWN | ³×Æ®¿÷ ¼ºê ½Ã½ºÅÛ¿¡ ¿¡·¯°¡ ¹ß»ýÇß½À´Ï´Ù. |
WSAEINPROGRESS | ºí·°Å· À©¼Ó v1.1 ÀÌ ÇöÀç ÁøÇà ÁßÀ̰ųª, ¼ºñ½º ÇÁ·Î¹ÙÀÌ´õ°¡ Äݹé ÇÔ¼ö¸¦ ¿©ÀüÈ÷ ó¸®Çϰí ÀÖ½À´Ï´Ù. |
WSAENOTSOCK | ±â¼úÀÚ(descriptor)°¡ ¼ÒÄÏ ±â¼úÀÚ°¡ ¾Æ´Õ´Ï´Ù. |
WSAEFAULT | argp ¸Å°³º¯¼ö°¡ ¿Ã¹Ù¸¦ ÇüŰ¡ ¾Æ´Õ´Ï´Ù. |
QuickInfo
Windows NT : »ç¿ë°¡´É
Windows :
»ç¿ë°¡´É
Windows CE : ¹öÁ¯ 1.0 ±×¸®°í ±×ÀÌÈÄÀÇ ¹öÁ¯¿¡¼ »ç¿ë°¡´É
Header
:
Win16/32
: winsock.h
Win32-II
: winsock2.h
Import Library :
Win16 : winsock.lib
Win32
: wsock32.lib
Win32-II
: ws2_32.lib
See Also
overview, getsockopt, setsockopt, socket, WSAAsyncSelect, WSAEventSelect, WSAIoctl