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

Смотреть молодые видео

Официальный сайт itartass-sib 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
купить лекарства

В хорошем качестве hd видео

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


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

Online video HD

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

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

Full HD video online

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

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

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