Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как узнать свой IP после установления диалап-соед. VC++ 6.0 
:(
    Опции темы
LexaK
Дата 26.12.2004, 17:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



subj?
PM MAIL   Вверх
bel_nikita
Дата 26.12.2004, 17:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Эксперт
Сообщений: 2304
Регистрация: 12.10.2003
Где: Поезд №21/22 ( ст . Прага )

Репутация: 2
Всего: 47



Код

#include "stdafx.h"
#include "winsock2.h"
#include "iostream.h"

#pragma comment(lib,"wsock32.lib")

void main()
{
WSADATA wsaData;
if (!WSAStartup(WINSOCK_VERSION, &wsaData))
{
 char chInfo[64];
 if (!gethostname(chInfo,sizeof(chInfo)))
 {
  cout << chInfo << endl;
  hostent *sh;
  sh=gethostbyname((char*)&chInfo);
  if (sh!=NULL)
  {
  cout << sh->h_name << endl;
  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);
  cout << inet_ntoa(adr.sin_addr) << endl;
  nAdapter++;
  }
  }
 }
 else
  cout << "Error local host " << endl;
}
else
 cout << "Winsock initial Bad !!!!" << endl;
WSACleanup();
}



--------------------
user posted image — регистрация доменов от 150 руб.
PM MAIL WWW ICQ   Вверх
LexaK
Дата 26.12.2004, 18:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Спасибо, сейчас попробую!
PM MAIL   Вверх
Coocky
Дата 26.12.2004, 22:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


GUI гуру
****


Профиль
Группа: Участник Клуба
Сообщений: 2879
Регистрация: 16.2.2004
Где: Украина. Запорожь е

Репутация: 25
Всего: 62



Вообще все просто,если знаешь имя компа и используешь CWinSock.Просто передаешь имя компа(его легко узнать) smile Сложнее дело с портом,тут мне подсказали, что надо набрать в командной строке cmd.Затем netstat Покажет имя ЗАНЯТЫХ портов.Исключая занятые и от 1024,до 6.... не помню,используй.


--------------------
Верю в смерть после жизни, в любовь после секса ,в крем после бритья smile        
PM ICQ   Вверх
DENNN
Дата 27.12.2004, 10:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Интересно, а что вы будете делать с этим кодом если на компьютере несколько ip? smile
В таком случае уже надо выяснять маршрут до известного хоста. Например пропарсить вывод команды route
В таком случае либо адресс будет известен из ее вывода, либо будет сделан вывод о том, что сеодинения до необходимого сетевого адреса нет.
PM ICQ   Вверх
bel_nikita
Дата 27.12.2004, 12:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Эксперт
Сообщений: 2304
Регистрация: 12.10.2003
Где: Поезд №21/22 ( ст . Прага )

Репутация: 2
Всего: 47



Цитата
Интересно, а что вы будете делать с этим кодом если на компьютере несколько ip?
Самое интересно, что все активные ip адреса и покажет smile


--------------------
user posted image — регистрация доменов от 150 руб.
PM MAIL WWW ICQ   Вверх
DENNN
Дата 27.12.2004, 12:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата
Самое интересно, что все активные ip адреса и покажет

А выбрать нужный через rand()? smile smile smile

Это сообщение отредактировал(а) DENNN - 27.12.2004, 12:17
PM ICQ   Вверх
Coocky
Дата 27.12.2004, 17:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


GUI гуру
****


Профиль
Группа: Участник Клуба
Сообщений: 2879
Регистрация: 16.2.2004
Где: Украина. Запорожь е

Репутация: 25
Всего: 62



Ну смех смехом,а если серьезно?


--------------------
Верю в смерть после жизни, в любовь после секса ,в крем после бритья smile        
PM ICQ   Вверх
DENNN
Дата 29.12.2004, 11:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата

tracert ya.ru

И смотри через какой первый ip пойдет. Это так, на вскидку.
Если в MSDN покапаться, то думаю можно найти, как то же самое сделать через API.
На крайний случай можно посмотреть в таблице маршрутизации маршрут по умолчанию, хотя это справедливо не для всех случаев.

Это сообщение отредактировал(а) DENNN - 29.12.2004, 11:17
PM ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема »


 




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


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

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