gethostname
gethostname ÇÔ¼ö´Â ·ÎÄà ¸Ó½Å¿¡ ´ëÇÑ È£½ºÆ® À̸§À» ¾ò¾î³À´Ï´Ù.
int gethostname (
char
FAR * name,
int namelen
);
Parameters
name
[Ãâ·Â]
·ÎÄà ȣ½ºÆ® À̸§À» ´ãÀ» ¹öÆÛÀÇ Æ÷ÀÎÅÍ
namelen
[ÀÔ·Â]
¹öÆÛÀÇ ±æÀ̸¦ ¼³Á¤ÇÕ´Ï´Ù.
Remarks
gethostname ÇÔ¼ö´Â name ¸Å°³º¯¼ö¿¡ ·ÎÄà ȣ½ºÆ®ÀÇ À̸§À» ¸®ÅÏÇÕ´Ï´Ù. È£½ºÆ® À̸§Àº NULL ¹®ÀÚ·Î ³¡³ª´Â ½ºÆ®¸µ ÀÔ´Ï´Ù. È£½ºÆ® À̸§ÀÇ ÇüÅ´ À©µµ¿ìÁî ¼ÒÄÏ ÇÁ·Î¹ÙÀÌ´õ¿¡ Á¾¼ÓÀûÀÔ´Ï´Ù. Áï, °£´ÜÇÑ È£½ºÆ® À̸§ÀÏ ¼öµµ ÀÖ°í, ¿Ïº®ÇÑ µµ¸ÞÀÎ ³×ÀÓ ÀÏ ¼öµµ ÀÖ´Â °ÍÀÔ´Ï´Ù.
¸¸¾à ·ÎÄà ȣ½ºÆ® À̸§ÀÌ Á¸ÀçÇϰí ÀÖ¾ú´Ù¸é, gethostname ÇÔ¼ö´Â ¼º°øÇÒ °ÍÀÔ´Ï´Ù, ±×¸®°í gethostbyname ÇÔ¼ö³ª WSAAsyncGetHostByName ÇÔ¼ö¿¡¼ ÀÎ½Ä ÇÒ ¼ö Àִ ȣ½ºÆ® À̸§À» ¸®ÅÏÇÏ°Ô µË´Ï´Ù.
Return Values
¾Æ¹«·± ¿¡·¯°¡ ¹ß»ýµÇÁö ¾ÊÀ¸¸é, gethostname ÇÔ¼ö´Â 0À» ¸®ÅÏÇÕ´Ï´Ù. ¹Ý¸é, ¿¡·¯°¡ ¹ß»ýÇÑ °æ¿ì¿¡´Â SOCKET_ERROR À» ¸®ÅÏÇÕ´Ï´Ù. ¶ÇÇÑ ÀÌ ÇÔ¼ö¿ª½Ã WSAGetLastError ÇÔ¼ö¸¦ È£ÃâÇØ¼ ƯÁ¤ÇÑ ¿¡·¯Äڵ带 ¹Þ¾Æ³¾ ¼ö ÀÖ½À´Ï´Ù.
Error Codes
WSAEFAULT |
name ¸Å°³º¯¼ö°¡ Á¤È®ÇÑ user address space°¡ ¾Æ´Ï°Å³ª, namelen¿¡ ³Ñ±ä ¹öÆÛÅ©±â°¡ È£½ºÆ® À̸§À» ¸ðµÎ ´ãÀ» ¸¸ÅÀÇ Å©±â°¡ ¾Æ´Ò°æ¿ì |
WSANOTINITIALISED |
ÀÌ ÇÔ¼ö¸¦ »ç¿ëÇϱâÀü¿¡ ¼º°øÀûÀÎ WSAStartup ÇÔ¼öÀÇ È£ÃâÀÌ ÀÌ·ç¾îÁ®¾ß ÇÕ´Ï´Ù. |
WSAENETDOWN |
³×Æ®¿÷ ¼ºê ½Ã½ºÅÛ¿¡¼ ¿¡·¯°¡ ³µ½À´Ï´Ù. |
WSAEINPROGRESS |
ºí·°Å· À©¼Ó v1.1 ÀÌ ÇöÀç ÁøÇà ÁßÀ̰ųª, ¼ºñ½º ÇÁ·Î¹ÙÀÌ´õ°¡ Äݹé ÇÔ¼ö¸¦ ¿©ÀüÈ÷ ó¸®Çϰí ÀÖ½À´Ï´Ù. |
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
overview, gethostbyname, WSAAsyncGetHostByName
Sample
¾Æ·¡ÀÇ »ç¿ë¿¹Á¦´Â ·ÎÄà ȣ½ºÆ®ÀÇ IP Address¸¦ ÂÀ~Ç¥±â¹ýÀ¸·Î ÀÌ·ç¾îÁö´Â ½ºÆ®¸µÀ¸·Î ¾ò¾î³»´Â ¹æ¹ýÀ» º¸¿©ÁÖ´Â ¿¹Á¦ÀÔ´Ï´Ù. ¹öŬ¸® ¼ÒÄÏÀÇ °æ¿ì ·ÎÄà ȣ½ºÆ®ÀÇ ¾ÆÀÌÇÇ ¾îµå·¹½º¸¦ ¾ò¾î³»´Â gethostaddr ÇÔ¼ö´Â Áö¿øµÇ´Â APIÀÌÁö¸¸, Winsock¿¡¼´Â Áö¿øµÇÁö ¾Ê´Â APIÀÔ´Ï´Ù. ÇÏÁö¸¸, ¾Æ·¡Ã³·³ ´ÜÁö ¸îÁÙ¸¸ÀÇ ÄÚµùÀ¸·Î ÀÌ¿Í ¶È°°Àº ±â´ÉÀ» ÇÏ´Â ÇÔ¼ö¸¦ ¸¸µé¾î ³¾ ¼ö ÀÖÀ½À» ¾Ë ¼ö ÀÖ½À´Ï´Ù.
char FAR * FAR gethostaddr( void )
{
char
szHostName[40];
//·ÎÄÃ
È£½ºÆ®ÀÇ À̸§À» ¾ò½À´Ï´Ù.
int
nResult = gethostname( szHostName, sizeof(szHostName) );
if(
nResult != 0)
return
NULL;
//È£½ºÆ®
À̸§ÀÌ À¯È¿ÇÑÁö È®ÀÎ ÇÕ´Ï´Ù.
if(
lstrcmp( szHostName, "" ) == 0 )
return
NULL;
//·ÎÄÃ
È£½ºÆ® À̸§À» ÀÌ¿ëÇÏ¿© È£½ºÆ® °ü·Ã Á¤º¸¸¦ ã½À´Ï´Ù.
HOSTENT
FAR * lphostent = gethostbyname( szHostName );
//È£½ºÆ®
Á¤º¸¸¦ Á¦´ë·Î ¾ò¾ú´ÂÁö È®ÀÎÇϰí,
if(
lphostent == NULL )
return
NULL;
//Á¦´ë·Î
È£½ºÆ® °ü·Ã Á¤º¸¸¦ ¾ò¾úÀ¸¸é, °ü·ÃÁ¤º¸Áß ¾ÆÀÌÇÇ ½ºÆ®¸µÀ» ¹Ýȯ ÇÕ´Ï´Ù.
return
lphostent->h_addr_list;
}