Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Получение текущего IP
Форум на CrossPlatform.RU > Библиотеки > Qt > Qt Ввод/Вывод, Сеть. Межпроцессное взаимодействие
OrSOn
Всем привет! Вопрос, собственно, не совсем по Qt, а вообще на c++, но возможно и с Qt... Необходимо в проекте получить текущий IP адрес, как это можно сделать? Причем необходимо сделать это как для Win, так и для Unix, поэтому нужны функции получения IP для обеих систем. Заранее благодарен.
OrSOn
Для винды нашел следующий код:

#include <winsock.h>
#include <stdio.h>

void __fastcall TForm1::Button1Click(TObject *Sender)
{
WORD wVersionRequested;
WSADATA wsaData;
wVersionRequested = MAKEWORD(1, 0);
int err = WSAStartup(wVersionRequested, &wsaData);
if(err == 0)
{
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]);
  Label1->Caption=LocalIp; //Выводим IP адрес
}
}
}


А вот для линукса чет пока никак...
Litkevich Yuriy
QHostAddress QNetworkAddressEntry::ip () const
?
OrSOn
Цитата(Litkevich Yuriy @ 18.3.2010, 13:06) *
QHostAddress QNetworkAddressEntry::ip () const
?

Спасибо) не зря сюда писал, не нашел я сию функцию)))))
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2022 IPS, Inc.