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

See Also

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;
}