Название: QTcpSocket::peerPort() Отправлено: Yegor от Сентябрь 06, 2011, 15:46 QTcpSocket::peerPort()
Здравствуйте! Помогите мне, пожалуйста, разобраться с сокетами: QTcpSocket::peerPort(). Имею 2 программы, которые связываются с помощью сокетов. Первая сторона - сервер, вторая - клиент. На стороне клиента делаю запрос на соединение с серером: Код: QTcpSocket *MySocket = new QTcpSocket(this); На стороне сервера принимаю входящее соединение: Код: //virtual Входящий ip, port я контролирую, чтобы ограничить доступ - только для сторон с разрешенными ip, port давать соединяться. Как сделать, чтобы 'peerPort' возвращало правильное значение? Правильно ли я понял про применение и назначние 'peerPort' ? Помню, еще в Qt3 был аналог этого метода: 'pendingPort'. Название: Re: QTcpSocket::peerPort() Отправлено: BRE от Сентябрь 06, 2011, 16:07 Все он возвращает правильно! :)
Две стороны - два сокета. У каждого должен быть свой порт. Первый задаешь ты, второй выбирает ОС из свободных. Не нужно контролировать порт клиента, он может постоянно меняться. Название: Re: QTcpSocket::peerPort() Отправлено: Yegor от Сентябрь 10, 2011, 15:57 А как же тогда установить принудительно свой порт для сокета, чтобы именно этот порт я и смог увидеть на другой стороне сети. Увидеть с помощью peerPort().
Название: Re: QTcpSocket::peerPort() Отправлено: LisandreL от Сентябрь 10, 2011, 16:56 А как же тогда установить принудительно свой порт для сокета, чтобы именно этот порт я и смог увидеть на другой стороне сети. Увидеть с помощью peerPort(). На стороне сервера вы этот установленный порт можете увидеть при помощи localPort().Название: Re: QTcpSocket::peerPort() Отправлено: Yegor от Сентябрь 11, 2011, 16:41 Я имею ввиду как установить принудительно номер порта для сокета?
Название: Re: QTcpSocket::peerPort() Отправлено: LisandreL от Сентябрь 11, 2011, 18:55 Рискну предположить, что Qt не предоставляет функционала установки обратных портов, оставляя их выдачу на откуп ОС.
Конечно вы можете унаследоваться от QTcpSocket и получить доступ к setPeerPort, но насколько я понимаю реально он обратный порт не меняет. |