Главная / FAQ по Builder'у / 77 Как узнать IP адрес...

77 Как узнать IP адрес моей машины?


#include <winsock.h>
#include <stdio.h> // для sprintf
-----
void GetLocalIp()
{
  // сперва инициализируем сокет и проверяе м его на версию
    WORD wVersionRequested;
    WSADATA wsaData;
  wVersionRequested = MAKEWORD(1, 0);
  int err = WSAStartup( wVersionRequested, &wsaData );
    if (err != 0){
    ShowMessage("Версия сокета маловата будет!");
    return;
    }
  // теперича получаем структуру хоста и выцепляем из нее номер IP
  char hn[1024];
  struct hostent *adr;
  if(gethostname((char *)&hn, 1024)){
    int err = WSAGetLastError();
    Beep();
  };
  adr = gethostbyname(hn);
  if(adr){
    char *LocalIp = new char[15];
      sprintf(LocalIp,"%d.%d.%d.%d",
          (unsigned char)adr->h_addr_list[0][0],
          (unsigned char)adr->h_addr_list[0][1],
          (unsigned char)adr->h_addr_list[0][2],
          (unsigned char)adr->h_addr_list[0][3]);
    ShowMessage(LocalIp);
  }else{
    ShowMessage(";-0");
  }
}
Валерий Куликов

Предыдущий вопрос   |  Список вопросов   |   Следующий вопрос

источник      На главную      by jenyok
Copyright © 2003 JTSOFT
Сайт управляется системой uCoz