Online video hd

Смотреть узбекский видео

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

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

27.04.10 18:01 Ymilij

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

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

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



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

Лучшие блоги (все 165)
Топ пользователей Топ блогов
Топ пользователей Топ блогов
Элита (все 3367 из 238 городов)
Топ пользователей Топ блогов
welinux.ru
купить лекарства

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

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


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

Online video HD

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

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

Full HD video online

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

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

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