crossplatform.ru

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

> Адрес сервера для подключения
Count0
  опции профиля:
сообщение 28.12.2011, 21:04
Сообщение #1


Студент
*

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

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




Репутация:   0  


Добрый день, необходимо получить адрес слушающего QTcpServer-а, для последующего подключения клиентов по этому адресу пробовал QTcpServer::serverAddress(). Полученный QHostAddress имеет пустую строку в scopeId, то есть это значение бесполезно клиенту. Существует ли способ решить задачу? Если можно дайте ссылку. Заранее благодарен.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов (1 - 3)
silver47
  опции профиля:
сообщение 29.12.2011, 4:00
Сообщение #2


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

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

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




Репутация:   6  


QHostAddress QTcpServer::serverAddress () const

Returns the server's address if the server is listening for connections; otherwise returns QHostAddress::Null.

Вы как запускаете сервер? QTcpServer::listen(QHostAddress::Any, %serverport%)?

Сообщение отредактировал silver47 - 29.12.2011, 4:07
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Count0
  опции профиля:
сообщение 29.12.2011, 8:49
Сообщение #3


Студент
*

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

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




Репутация:   0  


Цитата(silver47 @ 29.12.2011, 4:00) *
QHostAddress QTcpServer::serverAddress () const

Returns the server's address if the server is listening for connections; otherwise returns QHostAddress::Null.

Вы как запускаете сервер? QTcpServer::listen(QHostAddress::Any, %serverport%)?

QTcpServer::listen(QHostAddress::Any, 0) для того чтобы система сама выбрала порт, и мне как раз надо узнать адресс и порт. Порт как я понимаю quint16 QTcpServer::serverPort () const?
А может эта проблема возникнуть из-за того что я получаю адресс и порт сразу после QTcpServer::listen(QHostAddress::Any, 0)?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Count0
  опции профиля:
сообщение 30.12.2011, 10:01
Сообщение #4


Студент
*

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

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




Репутация:   0  


Решил проблему, если кому-то понадобится:
Пустая строка в scopeId() и адресс 0.0.0.0 полученный с сервера говорят о том, что он слушает все возможные соединения.
Для получения одного определенного адреса нужно использовать QNetworkInterface.
http://stackoverflow.com/questions/4265561...han-one-address
Тему можно закрыть.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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




RSS Текстовая версия Сейчас: 22.11.2024, 19:08