Модераторы: feodorv
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как определить интернет IP адрес, Который провайдер выдаёт при подключении 
:(
    Опции темы
Link90
Дата 25.8.2006, 10:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


"Битый" пиксель
*


Профиль
Группа: Участник
Сообщений: 214
Регистрация: 25.11.2005
Где: Иркутск - середин а земли!

Репутация: нет
Всего: 7



Мне нужно узнать IP адрес, который интернет провайдер выдаёт при удачном подключении. Как это сделать?
PM MAIL ICQ   Вверх
Artemon
Дата 25.8.2006, 12:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


а ты мне нравишься
***


Профиль
Группа: Завсегдатай
Сообщений: 1771
Регистрация: 24.2.2004
Где: Челябинск

Репутация: 1
Всего: 20



Увидел в MSDN

HRESULT GetIPAddress(
  ULONG* pulDottedQuadOut
);

Попробуй.

Добавлено @ 12:47 
Вот еще:

DWORD GetIpAddrTable(
  PMIB_IPADDRTABLE pIpAddrTable,
  PULONG pdwSize,
  BOOL bOrder
);

С помощью этого ты можешь получить все соединения(и их IP) в твоем компе.


--------------------
Контроль топлива на топливозаправщиках, мониторинг автотранспорта, расчет зарплаты водителей www.rscat.ru
PM MAIL   Вверх
Link90
Дата 25.8.2006, 13:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


"Битый" пиксель
*


Профиль
Группа: Участник
Сообщений: 214
Регистрация: 25.11.2005
Где: Иркутск - середин а земли!

Репутация: нет
Всего: 7



Artemon, Не работают!!!
Говорит, что вызывается не найденная функция!

Это сообщение отредактировал(а) Link90 - 25.8.2006, 14:00
PM MAIL ICQ   Вверх
ptr
Дата 25.8.2006, 17:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 661
Регистрация: 31.5.2006
Где: Новосибирск

Репутация: 9
Всего: 14



Link90, под какую ОС пишешь?

Это сообщение отредактировал(а) ptr - 25.8.2006, 17:22


--------------------
Единственный способ определить границы возможного - это выйти за эти границы, в невозможное.
Артур Кларк.
PM MAIL ICQ   Вверх
Link90
Дата 25.8.2006, 18:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


"Битый" пиксель
*


Профиль
Группа: Участник
Сообщений: 214
Регистрация: 25.11.2005
Где: Иркутск - середин а земли!

Репутация: нет
Всего: 7



ptr, XP, но вообще желательно что-нибудь более универсальное!
PM MAIL ICQ   Вверх
ptr
Дата 26.8.2006, 11:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 661
Регистрация: 31.5.2006
Где: Новосибирск

Репутация: 9
Всего: 14



Цитата(Link90 @  25.8.2006,  22:41 Найти цитируемый пост)
ptr, XP, но вообще желательно что-нибудь более универсальное! 

Да я не о том какая версия Windows smile , я имел ввиду под win или *nix.
Из универсальных есть например вот этот способ. Либо используй то, что Artemon привёл.

Это сообщение отредактировал(а) ptr - 26.8.2006, 12:12


--------------------
Единственный способ определить границы возможного - это выйти за эти границы, в невозможное.
Артур Кларк.
PM MAIL ICQ   Вверх
Link90
Дата 26.8.2006, 12:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


"Битый" пиксель
*


Профиль
Группа: Участник
Сообщений: 214
Регистрация: 25.11.2005
Где: Иркутск - середин а земли!

Репутация: нет
Всего: 7



Шо то ничё не работает! Работаю в 6-ом Бильдере. Может у кого сурсы есть?
PM MAIL ICQ   Вверх
Gordon
Дата 26.8.2006, 12:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 459
Регистрация: 9.7.2006

Репутация: нет
Всего: 6



Вот, нашел в FAQ'ке, может тебе это подойдет:

Код

void __fastcall TForm1::Button1Click(TObject *Sender)
{
AnsiString out = "WinSock ERR";
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);
out = inet_ntoa(adr.sin_addr);
nAdapter++;
}
}
}
}
WSACleanup();
ShowMessage(out);
}





--------------------

  
     
PM MAIL WWW   Вверх
ptr
Дата 26.8.2006, 14:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 661
Регистрация: 31.5.2006
Где: Новосибирск

Репутация: 9
Всего: 14



Цитата(Link90 @  26.8.2006,  16:13 Найти цитируемый пост)
Шо то ничё не работает!

Всё отлично работает smile . Ты случайно включить Winsock2.h и прилинковать Ws2_32.lib не забыл. Да и лучше использовать вариант Gordona, т.к. он написан для Builder'а smile .

Это сообщение отредактировал(а) ptr - 26.8.2006, 14:04


--------------------
Единственный способ определить границы возможного - это выйти за эти границы, в невозможное.
Артур Кларк.
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Сети | Следующая тема »


 




[ Время генерации скрипта: 0.0577 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.