Как получить свой IP: Вариант 2

Автор: Alfa

Для компов с множественными интерфейсами:

#include <stdio.h>
#include <winsock2.h>
 
void main()
{
    WSADATA wsaData;
    if (!WSAStartup(WINSOCK_VERSION, &wsaData))
    {
        char chInfo[64];
        if (!gethostname(chInfo,sizeof(chInfo)))
        {
            hostent *sh;
            sh=gethostbyname((char*)&chInfo);
            if (sh!=NULL)
            {
                int   nAdapter = 0;
                while (sh->h_addr_list[nAdapter])
                {
                    struct   sockaddr_in   adr;
                    memcpy(&adr.sin_addr,sh->h_addr_list[nAdapter],sh->h_length);
                    printf("IP is: %s\n",inet_ntoa(adr.sin_addr));
                    nAdapter++;
                }
            }
        }
    }
    else
        printf("Winsock Error!\n");
 
    WSACleanup();
    return;
}
 
faq/c_c_/own_ip_2.txt · Последние изменения: 2006/05/10 14:19 (внешнее изменение)
 
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki