crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

2 страниц V  < 1 2  
Ответить в данную темуНачать новую тему
> Внутренний IP, QNetworkInterface или что-то другое?
ufna
  опции профиля:
сообщение 17.10.2010, 18:06
Сообщение #11


Активный участник
***

Группа: Участник
Сообщений: 362
Регистрация: 24.5.2008
Из: Курган/СПб
Пользователь №: 182

Спасибо сказали: 29 раз(а)




Репутация:   5  


Цитата(BRE @ 17.10.2010, 18:09) *
Это не MAC-адреса, это IPv6.


точно, протупил :)



bigory, а ты уверен, что нужные тебе айпи у друга IPv4, а не IPv6? И что проверяет скипт РНР? Обычно скрипты эти показывают внешний айпи.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
bigory
  опции профиля:
сообщение 17.10.2010, 18:14
Сообщение #12


Студент
*

Группа: Участник
Сообщений: 77
Регистрация: 10.10.2010
Пользователь №: 2099

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(ufna @ 17.10.2010, 19:06) *
а ты уверен, что нужные тебе айпи у друга IPv4, а не IPv6? И что проверяет скипт РНР? Обычно скрипты эти показывают внешний айпи

Уверен, ведь в сетевых подключениях четко показывает как выглядит IP, а демо пример выводит совсем не тот.
Ну а я и написал что решил проблему с внешним IP, все верно:) Не совсем верно показан пример в демо
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ufna
  опции профиля:
сообщение 18.10.2010, 18:04
Сообщение #13


Активный участник
***

Группа: Участник
Сообщений: 362
Регистрация: 24.5.2008
Из: Курган/СПб
Пользователь №: 182

Спасибо сказали: 29 раз(а)




Репутация:   5  


Цитата(bigory @ 17.10.2010, 19:14) *
Уверен, ведь в сетевых подключениях четко показывает как выглядит IP, а демо пример выводит совсем не тот.
Ну а я и написал что решил проблему с внешним IP, все верно:) Не совсем верно показан пример в демо


Выложи скомпилированный пример, который выводит список этих айпи.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
bigory
  опции профиля:
сообщение 18.10.2010, 20:13
Сообщение #14


Студент
*

Группа: Участник
Сообщений: 77
Регистрация: 10.10.2010
Пользователь №: 2099

Спасибо сказали: 0 раз(а)




Репутация:   0  


Вот ссылка на архив
http://file.qip.ru/file/V9WGC9pv/IP_Test.html ( 4.26 Mb )
Там исходник, и исполняемый файл вместе с библиотеками

Забыл написать, что исполняемый файл под виндоус. Но чтоб смогли воспользоваться линуксоиды и маковцы, есть исходник для компиляции
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ufna
  опции профиля:
сообщение 18.10.2010, 21:55
Сообщение #15


Активный участник
***

Группа: Участник
Сообщений: 362
Регистрация: 24.5.2008
Из: Курган/СПб
Пользователь №: 182

Спасибо сказали: 29 раз(а)




Репутация:   5  


ну у меня айпи в списке нужный есть, в середине, т.к. сетевой адаптер вторым идет в списке всех интерфейсов. Так что вопрос остался тем же - как определить, что данный айпи - нужный "внутренний"? У меня к примеру три сетевых подключения, как вывод - который тебе нужен?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
bigory
  опции профиля:
сообщение 18.10.2010, 22:18
Сообщение #16


Студент
*

Группа: Участник
Сообщений: 77
Регистрация: 10.10.2010
Пользователь №: 2099

Спасибо сказали: 0 раз(а)




Репутация:   0  


Я немного дополнил мою программку. Там я оставил список, который выводт программка и добавил ту логику, по которой ищет "нужный" внутренний IP
http://file.qip.ru/file/IGAIqsaI/IP_Test.html ( 70 Kb )
Старый исполняемый файл замените новым.
Там я хочу показать какой адресс выводит именно тот алгоритм, который представлен в примерах. Надеюсь так можно будет разработать логику, по которой можно будет искать нужный IP
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ufna
  опции профиля:
сообщение 18.10.2010, 22:29
Сообщение #17


Активный участник
***

Группа: Участник
Сообщений: 362
Регистрация: 24.5.2008
Из: Курган/СПб
Пользователь №: 182

Спасибо сказали: 29 раз(а)




Репутация:   5  


блин :)

первое что тебе нужно сделать - определить у какого интерфейса брать айпишник. Вот к этому сводится твоя проблема. А из списка айпишников ты нужный со 100% уверенностью сказать не сможешь - у меня стоит три карточки - тебе какой айпи нужен? Все три равнозначны, но для разных сетей.

Потому - смотри в сторону определения сетевого интерфейса, а не айпи. Алгоритм "по айпи" сделать можно легко, но см. выше.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 19.10.2010, 8:52
Сообщение #18


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9668
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(ufna @ 19.10.2010, 1:29) *
Все три равнозначны, но для разных сетей.
может по заданной маске подсети смотреть? Но вообще вопрос правильный, если карточек несколько.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Sokoloff
  опции профиля:
сообщение 21.10.2010, 11:22
Сообщение #19


Участник
**

Группа: Участник
Сообщений: 237
Регистрация: 1.4.2009
Из: Москва
Пользователь №: 654

Спасибо сказали: 50 раз(а)




Репутация:   11  


На мой взгляд сама постановка вопроса не верная или не понятна. Что такое "локальный IP", локальный относительно чего? Если не смотрящий в инет, то у машины может быть таких интерфейсов/адресов несколько.
Поясни для чего это нужно? Если чтоб отправить адрес на какой-то сервер, чтоб потом он смог связаться с клиентом, то нужно искать адрес из той же подсети что и адрес сервера. Например:

Сервер имеет IP 192.168.77.10 и маску 255.255.255.0

Клиент имеет следующие IP
192.168.1.5
91.76.134.250
192.168.77.1
192.168.38.1
127.0.0.1

Перебираем все эти адреса и сравниваем с адресом сервера с учетом маски, в данном случае подойдет только 192.168.77.1 . Надо продумать что делать в исключительных вариантах:
1) Может оказаться что ни один адрес не подошел под маску, т.е. нет прямого маршрута от сервера к клиенту. Что делать?
2) Под маску могут подпасть сразу несколько адресов, комп имеет несколько сетевых карт в одну подсеть, или для для одной карточки установлено несколько адресов. Что делать, брать первый попавшийся?

Или под локальным адресом ты понимаешь серые адреса. Тогда проверяй по их маскам, опять же возможны два исключительных случая.

Сообщение отредактировал Sokoloff - 21.10.2010, 11:23
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

2 страниц V  < 1 2
Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 5.12.2021, 1:42