Qt for Symbian - странное поведение сетевых сокетов - PullRequest
2 голосов
/ 03 декабря 2009

Я взял версию 4.6.0 и сразу попытался написать для нее небольшое тестовое приложение. Это приложение просто показывает поле редактирования для адреса хоста и флажок, если оно использует зашифрованное соединение или нет. Есть также простые кнопки «Подключить» и «Отключить». Он пытается загрузить и показать изображение в QListWidget, показывая пути отладки по пути (подключен, зашифрован, readyRead и т. Д.)

Это (несколько очевидно) использование класса QSslSocket.

1) Приложение никогда не запрашивает точку доступа, как большинство других сетевых приложений, оно просто открывает WLAN-соединение, если оно не работает. Как запустить интерфейс выбора точки доступа? (Или правильно пропустите его, если пользователь выбрал автоматический выбор точек доступа ... чего у меня нет)

2) Далее, приложение не работает за пределами моей локальной сети WLAN. Он находится в ожидании, так же, как и в моей WLAN, прежде чем я добавил возможность «NetworkServices». Он останавливается в состоянии поиска хоста, если я даю ему имя или если я даю ему IP-адрес, через который он переходит в состояние 2 (я думаю, в ожидании состояния соединения?) ... Есть ли дополнительная возможность или что-то, что мне нужно добавить Вот? (см. Обновление ниже)

3) Как получить коды ошибок или исключения для отсутствующих проблем с возможностями?

Мне потребовалось много времени, чтобы понять, что вам нужно добавить «TARGET.CAPABILITY + = NetworkServices» в файл .pro, чтобы включить сетевое подключение. В конце концов я нашел место для редактирования в файле Carbide, но он был автоматически сгенерирован и перезаписывался. Затем мне потребовалось более часа, чтобы выяснить, какие настройки возможностей Qt находятся в файле .pro, а не скрыты в каком-либо другом меню Carbide.

Было бы очень полезно , если бы в документации Qt была страница со списком, какие возможности Symbian были необходимы для каких классов / членов Qt. Это значительно облегчит количество усилий, необходимых для таких новичков в Symbian, как я.

UPDATE

Хорошо, теперь я знаю, как проверить файл журнала на наличие отсутствующих возможностей в эмуляторе. Спасибо!

Я начинаю думать, что проблема 3G вовсе не в возможностях ... она работает последовательно, так как я начал делать чистку перед каждой сборкой. Я получал сбои приложений и даже поврежденные сетевые стеки Qt (где потребовался перезапуск телефона, чтобы снова заработали соединения, но только в приложениях на основе Qt) и т. Д. рассказывая, что там на самом деле.

Существует ли какая-либо известная проблема в сборке Carbide и "clean-to-build"? Может быть, это проблема Qt для Symbian? Возможно, мне нужно запустить новую ВМ и переустановить все. (Третий раз за неделю ... Первым был кандидат на освобождение)

Ответы [ 2 ]

3 голосов
/ 03 декабря 2009

У меня нет ответа на другие ваши вопросы, но я также изучаю Qt.

Что касается проверки возможностей, эмулятор делает это. Когда он сталкивается с отсутствующей возможностью, он записывает что-то вроде «PlatSec fail for process ...» в EPOCWIND.OUT в вашей временной директории. Вы также можете включить его, чтобы приложение даже не запустилось, отредактировав epoc.ini .

2 голосов
/ 08 декабря 2009

Для 1: Вы можете попробовать использовать мобильные расширения: Ссылка на мобильные расширения на forum.nokia.com который состоит из API Access Point Manager.

...