Видео ролики бесплатно онлайн

Смотреть казахский видео

Официальный сайт ruskorinfo 24/7/365

Смотреть видео бесплатно

Ymilij 27.04.2010 18:01

Qt Software — Скачиваем файл с Qt4

Что он за чувства чувствовал внутри,
Пока Мума пускала пузыри?
Он привязал к Муме два кирпича —
Глаза садиста, руки палача.
© «Несчастный случай» о Qt Software и QHttp

Писал курсовую с использованием замечательной кросс-платформенной библиотеки — Qt. Помимо того, что она кросс-платформена, что само по себе для меня очень удобно — нет необходимости запускать win даже под виртуалкой для разработки курсовой, а собрать win32-версию необходимо, условие выполнения курсовой — приложение, исполняемое в среде win32. Так вот, помимо того, что Qt полностью кросс-платформена, она предлагает все средства для наиболее комфортной разработки приложений. Рекомендую.
Теперь к теме поста. Захотелось мне в своей программе реализовать функционал, работающий с протоколом http, а точнее, выкачивающий некоторую информацию. Для этого сразу полез в QHttp, после продолжительной бесплодной возни с ним обнаружил, что в 4.6 он уже depreciated и скоро будет вообще удалён из Qt, а для работы с сетью теперь надлежит использовать кошерный QNetworkAccessManager (кстати, работает, как с http, так и с ftp).
Ну чтож, забил я на QHttp и полез в доки по QNetworkAccessManager, а когда вернулся, написал класс, полностью удовлетворяющий моим потребностям.
Кстати, можно добавить ещё один слот, делающий reply->abort и закрывающий файл. Удобно прерывать уже начавшуюся загрузку.


Тэги: qnetworkaccessmanager qt4 программирование Сеть
+ 3 -
Похожие Поделиться

divius 27.04.2010 20:05 #
+ 1 -
Одно плохо с QtNetwork: отсутствие синхронного API. Ох, намучался я вс свою время из-за этого...
Ymilij 27.04.2010 20:13 #
+ 0 -
В смысле?
divius 27.04.2010 20:14 #
+ 0 -
Иногда асинхронный API - не очень благо...
Ymilij 27.04.2010 20:22 #
+ 0 -
Многопоточность же.
На худой конец псевдомноготопочность в виде qApp->processEvents; ;)
Или я не правильно понял, что такое "асинхронный API"?
divius 27.04.2010 20:23 #
+ 0 -
Беда как раз в многопоточности, иногда она излишняя
Denis 27.04.2010 22:15 #
+ 1 -
Согласен на 100%. Особенно, когда вся работа с сетью и обработка полученных данных идет в отдельном потоке. Ну, и на кой там, спрашивается, асинхронность, если все равно все конвейером устроено? Но, правда, за сигналы/слоты, логичность Qt в целом и хорошую документацию им это прощается. :)
divius 27.04.2010 20:08 #
+ 0 -
Кстати, реквестирую статью про использование FTP через QNetworkAccessManager. Очень-очень надо!
Ymilij 27.04.2010 20:13 #
+ 0 -
Если открытый ftp то пример уже работает с ftp ;)
divius 27.04.2010 20:15 #
+ 0 -
А что надо юзать для заливки файла? put? а для создание директории? а для удаления файла/директории/директории с файлами?
Ymilij 27.04.2010 20:19 #
+ 0 -
Кстати, логин, должен тоже работать, можно попробывать ftp://login:pass@server/file.
Хм, с этим так сходу и не подскажу. Надо доки читать.
divius 27.04.2010 20:23 #
+ 0 -
Доки там слабоваты, придётся гуглить
Ymilij 27.04.2010 20:28 #
+ 0 -
А по-моему, доки норм, с экспериментами самое то :)
chemikadze 27.04.2010 20:24 #
+ 0 -
Хм, а я и не знал что QHttp уже deprecated. Кстати, качалка есть в примерах к Qt ;)
Ymilij 27.04.2010 20:29 #
+ 2 -
Есть, но она там, мягко скажем, с излишним функционалом. Да и лучший способ понять велосипеды - сделать свой ;)
chemikadze 27.04.2010 20:33 #
+ 4 -
Олсо в свое время изрядно высрал кирпичей, увидев в примерах торент о_О
Ymilij 27.04.2010 20:34 #
+ 0 -
О, да... xD

Смотреть онлайн бесплатно

Онлайн видео бесплатно


Смотреть русское с разговорами видео

Online video HD

Видео скачать на телефон

Русские фильмы бесплатно

Full HD video online

Смотреть видео онлайн

Смотреть HD видео бесплатно

School смотреть онлайн