crossplatform.ru

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

 
Ответить в данную темуНачать новую тему
> Как получить основной шлюз...
XpycT
  опции профиля:
сообщение 23.7.2009, 16:56
Сообщение #1


Студент
*

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

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




Репутация:   0  


Как можно получить основной шлюз сети? Смотрел в сторону QNetworkInterface и QHostAddress, но к сожалению нашел только MAC, ip и имя интерфейса. Может есть способ, а то не очень хочется делать зависимый от платформы парсинг ipconfig'a и ifconfig'a .
PS В .NET я его получал перебором NetworkInterface.GetAllNetworkInterfaces(), после чего выбирал нужный шлюз, а тут в упор не вижу :blink: Может кто сталкивался с такой задачей.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 23.7.2009, 17:06
Сообщение #2


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

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

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




Репутация:   94  


Цитата(XpycT @ 23.7.2009, 20:56) *
NetworkInterface.GetAllNetworkInterfaces()
а какую информацию возвращает эта функция?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
XpycT
  опции профиля:
сообщение 23.7.2009, 18:08
Сообщение #3


Студент
*

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

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




Репутация:   0  


Цитата(Litkevich Yuriy @ 23.7.2009, 17:06) *
Цитата(XpycT @ 23.7.2009, 20:56) *
NetworkInterface.GetAllNetworkInterfaces()
а какую информацию возвращает эта функция?

Информащию о интерфейсах. Потом я просто выдирал из инфо все шлюзы и добавлял в список
foreach (NetworkInterface networkCard in NetworkInterface.GetAllNetworkInterfaces())
            {
                foreach (GatewayIPAddressInformation gatewayAddr in networkCard.GetIPProperties().GatewayAddresses)
                {                  
                    listBox.Items.Add(gatewayAddr.Address.ToString());
                }

            }


Но это в .NET языках :) а меня интересует как в Qt его получить :huh:
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 23.7.2009, 19:36
Сообщение #4


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

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

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




Репутация:   94  


Цитата(XpycT @ 23.7.2009, 22:08) *
Информащию о интерфейсах.
т.е. адрес шлюза позволяет получить? В Qt видимо нет такой возможности.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kwisp
  опции профиля:
сообщение 24.7.2009, 8:05
Сообщение #5


астарожна ынтжинэр
*****

Группа: Участник
Сообщений: 1404
Регистрация: 26.11.2008
Из: ТаганрогРодинаЧехова
Пользователь №: 435

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




Репутация:   23  


я бегло просматривал Q3Dns там что то было с возвращением списка хостов.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
XpycT
  опции профиля:
сообщение 24.7.2009, 8:24
Сообщение #6


Студент
*

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

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




Репутация:   0  


Q3Dns(QT3) = QHostInfo(QT4). По крайней мере так в доках написано..просто класс переименован.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Roman_L
  опции профиля:
сообщение 24.8.2010, 11:26
Сообщение #7


Студент
*

Группа: Новичок
Сообщений: 11
Регистрация: 5.8.2010
Пользователь №: 1934

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




Репутация:   0  


QList<QHostAddress> allAddresses ()
QList<QNetworkInterface> allInterfaces ()
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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




RSS Текстовая версия Сейчас: 18.9.2021, 16:21