Адрес сервера для подключения |
Здравствуйте, гость ( Вход | Регистрация )
Адрес сервера для подключения |
Count0 |
28.12.2011, 21:04
Сообщение
#1
|
Студент Группа: Новичок Сообщений: 17 Регистрация: 30.7.2011 Пользователь №: 2772 Спасибо сказали: 0 раз(а) Репутация: 0 |
Добрый день, необходимо получить адрес слушающего QTcpServer-а, для последующего подключения клиентов по этому адресу пробовал QTcpServer::serverAddress(). Полученный QHostAddress имеет пустую строку в scopeId, то есть это значение бесполезно клиенту. Существует ли способ решить задачу? Если можно дайте ссылку. Заранее благодарен.
|
|
|
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 |
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 Тему можно закрыть. |
|
|
Текстовая версия | Сейчас: 22.11.2024, 19:08 |