Название: QTcpServer в Qt5.5 и IPv6 Отправлено: LisandreL от Июль 21, 2015, 13:10 1) Есть QTcpServer.
Есть listen( QHostAddress::Any, port ). В Qt 5.4- подключения с IPv4 приходят c адресами вида QHostAddress( "127.0.0.1" ), QHostAddress( "192.168.13.13" ). В Qt 5.5 подключения с IPv4 приходят c адресами IPv6 вида QHostAddress( "::ffff:127.0.0.1" ), QHostAddress( "::ffff:192.168.13.13" ). Кто знает это баг или фича? И как теперь правильно проверять, что подключение с разрешённого ip? Я могу сделать это при помощи toIPv4Address() с проверкой результата на 0, но как то уж больно это костыльно… QHostAddress( "fe80::61f4:7c:796d:7ccc%10" ) - %10 это что? Подсеть? Со вторым вопросом разобрался. Это scopeId(). Название: Re: QTcpServer в Qt5.5 и IPv6 Отправлено: Bepec от Июль 21, 2015, 13:34 1) QHostAddress::protocol () const
Название: Re: QTcpServer в Qt5.5 и IPv6 Отправлено: LisandreL от Июль 21, 2015, 14:52 1) QHostAddress::protocol () const И?.. Про функцию знаю, как она мне должна помочь не знаю.Код
Название: Re: QTcpServer в Qt5.5 и IPv6 Отправлено: Bepec от Июль 22, 2015, 12:50 Кто его знает, мб это баг 5.5. Или же у вас ipv6 включен в свойствах карточки. Лезьте в сырцы, смотрите.
PS 5.5 не установлен, увы. Название: Re: QTcpServer в Qt5.5 и IPv6 Отправлено: qate от Июль 22, 2015, 13:27 Код
а еще в 550 забавно поломали qDebug ) https://bugreports.qt.io/browse/QTBUG-46196 Название: Re: QTcpServer в Qt5.5 и IPv6 Отправлено: LisandreL от Июль 22, 2015, 14:36 Код
Просто я и v6 соединения принимаю (хоть это и не сильно востребовано). Можно, наверно открыть 2 сервера с listen(QHostAddress::AnyIPv4, port ) и listen(QHostAddress::AnyIPv6, port ), но как -то это уж совсем костыльно. Лучше уж проверку адресов переделать, благо toIPv4Address на такие адреса работает. Лезьте в сырцы, смотрите. Не вижу смысла. Ну найду я изменения, что дальше? Патчить каждую следующую версию Qt сомнительное удовольствие.Оформил репорт (http://"https://bugreports.qt.io/browse/QTBUG-47348"), если скажут, что баг, запрещу собираться под этой версией. Если что фича - адаптирую код. Название: Re: QTcpServer в Qt5.5 и IPv6 Отправлено: lesav от Октябрь 25, 2015, 22:45 Не знаю, баг ли это, но Qt5 упрямо выдает адреса в формате IPv6. В своем проекте воткнул вот такой костыль
Код
|