Re: HTTP в C++ приложениях
От: Константин Л. Франция  
Дата: 31.10.06 09:26
Оценка: -1
Здравствуйте, jedi, Вы писали:

J>Привет всем,


J>поиск здесь и по гуглю ничего внятного не дал. Посему решил провести небольгой соцопрос

J>Кто чем пользуется для работы с HTTP в своих приложениях?

J>Что нужно: возможность выполнения асинхронных запросов, возможность отмены, показ прогресса (или легкая воможность прикрутить оный).

J>Основное требование — высокоуровневость и простота использования, вместе с тем достаточная гибкость и возможность тонкой настройки.

J>Всем сасибо.


можно посмотреть MSXML4::IXMLHTTPRequest/IServerXMLHTTPRequest2

асинхронность есть, мониторинга прогресса нету
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re: Ultimate solution
От: jedi Мухосранск  
Дата: 31.10.06 10:40
Оценка: +1
Еще раз уточню. Передо мной не стоит задача единоразово сделать какой-то HTTP запрос. Это в текущем приложении сделано (с помощью WinInet) — и благополучно сдано заказчику. Так есть опыт использования cURL.

Но! По ряду причин ни одно из решений, которые я использовал ранее, мне не нравятся.
Ключевые требования:
а) Кроссплатформенность. В разумных пределах. По крайней мере винда, линух, мак.
б) Продуманный С++ интерфейс, не слишком замороченный и без страшных compile-time наворотов — вдруг придется
портировать на убогую (в смысле хорошего наличия С++ компилятора) платформу
в) Удобный высокоуровневый интерфейс, не скрывающий тем не менее низкоуровневых деталей (escape hatches)
г) Возможность полноценной работы в асинхронном режиме со всеми вытекающими — прогресс, отмена на любой стадии итп
д) Поддержка HTTPS/прокси/кукисов — опционально
е) Не тянущее за собой не связанных с задачей библиотек (или тянущее по минимуму)

Я понимаю, что хочу многого , но и решение ищется не на 1 день.
Возможно меня бы устроило что-то на базе ACE.

В общем, есть 100% уверенность что нечто подобное в природе существует. Не может не существовать.
Ау, где ты библиотека моей мечты???
HTTP в C++ приложениях
От: jedi Мухосранск  
Дата: 31.10.06 07:57
Оценка:
Привет всем,

поиск здесь и по гуглю ничего внятного не дал. Посему решил провести небольгой соцопрос
Кто чем пользуется для работы с HTTP в своих приложениях?

Что нужно: возможность выполнения асинхронных запросов, возможность отмены, показ прогресса (или легкая воможность прикрутить оный).
Основное требование — высокоуровневость и простота использования, вместе с тем достаточная гибкость и возможность тонкой настройки.

Всем сасибо.
Re: HTTP в C++ приложениях
От: astral_marine  
Дата: 31.10.06 08:36
Оценка:
Посмотрите:
— Встраевыемый Internet Explorer в окно, как ActiveX
— WinInet functions
— cURL

Остальной пользовательский интерфейс пишется самостоятельно
Re[2]: HTTP в C++ приложениях
От: jedi Мухосранск  
Дата: 31.10.06 08:52
Оценка:
Здравствуйте, astral_marine, Вы писали:

_>Посмотрите:

_>- Встраевыемый Internet Explorer в окно, как ActiveX
_>- WinInet functions
_>- cURL

_>Остальной пользовательский интерфейс пишется самостоятельно


cURL по определенным причинам использовать не могу — иначе бы не спрашивал).
Internet Explorer мне не нужен, явный оверкилл, мне просто GET запрос сделать надо.

А ты реально пробовал WinInet использовать в асинхронном режиме или просто так сказал?
Re: HTTP в C++ приложениях: уточнение
От: jedi Мухосранск  
Дата: 31.10.06 08:56
Оценка:
Здравствуйте, jedi, Вы писали:

J>Что нужно: возможность выполнения асинхронных запросов, возможность отмены, показ прогресса (или легкая воможность прикрутить оный).

J>Основное требование — высокоуровневость и простота использования, вместе с тем достаточная гибкость и возможность тонкой настройки.

Под "показом прогресса" понимается не ГУЙ с прогресс баром), а просто какой-то колбек позволяюший самому такой гуй прикрутить. А то тут меня уже неправильно поняли.

P.S. Я не совсем ламер, так что не нужно ответов типа кури WinInet, cURL итп. Мне просто интересно кто что использует — достаточно
высокоуровневое, стабильное, настраиваемое, написанное в С++ стиле.

Спасибо.
Re: HTTP в C++ приложениях
От: Slava Tutushkin Россия  
Дата: 31.10.06 08:56
Оценка:
Здравствуйте, jedi, Вы писали:

J>Кто чем пользуется для работы с HTTP в своих приложениях?

Я в ближайшее время планирую попробовать соответствующие классы из wxWidgets. По описанию выглядит довольно неплохо.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[2]: HTTP в C++ приложениях
От: jedi Мухосранск  
Дата: 31.10.06 09:05
Оценка:
Здравствуйте, Slava Tutushkin, Вы писали:

ST>Здравствуйте, jedi, Вы писали:


J>>Кто чем пользуется для работы с HTTP в своих приложениях?

ST>Я в ближайшее время планирую попробовать соответствующие классы из wxWidgets. По описанию выглядит довольно неплохо.

Уже ближе к делу). Смотрел некоторое время назад. Нет (или не понял как) возможности асинхронной работы — те запустить например десяток одновременных даунлоадов в одном потоке.

Но все равно спасибо , посмотрю мож че в последней версии изменилось.
Re[2]: HTTP в C++ приложениях: уточнение
От: algol Россия about:blank
Дата: 31.10.06 09:32
Оценка:
Здравствуйте, jedi, Вы писали:

J>Под "показом прогресса" понимается не ГУЙ с прогресс баром), а просто какой-то колбек позволяюший самому такой гуй прикрутить. А то тут меня уже неправильно поняли.


Ну тогда это URLDownloadToFile, URLOpenStream и прочие URL моникеры.
Re[2]: HTTP в C++ приложениях
От: jedi Мухосранск  
Дата: 31.10.06 09:33
Оценка:
Здравствуйте, Константин Л., Вы писали:

КЛ>можно посмотреть MSXML4::IXMLHTTPRequest/IServerXMLHTTPRequest2


КЛ>асинхронность есть, мониторинга прогресса нету


Спасибо, посмотрю. Правда смущает, то что уж очень микрософто-зависимо — сейчас это не важно, но есть перспектива переноса проги под линух и мак.

Так что забыл еще одно требование — кроссплатформенность между основными платформами (палмы и симбианы не важны
Re[3]: HTTP в C++ приложениях: уточнение
От: jedi Мухосранск  
Дата: 31.10.06 09:36
Оценка:
Здравствуйте, algol, Вы писали:

A>Здравствуйте, jedi, Вы писали:


J>>Под "показом прогресса" понимается не ГУЙ с прогресс баром), а просто какой-то колбек позволяюший самому такой гуй прикрутить. А то тут меня уже неправильно поняли.


A>Ну тогда это URLDownloadToFile, URLOpenStream и прочие URL моникеры.


Интересно, но не в кассу. Мне нужна гибкость, те возможность задания хидеров итп. Слишком высокоуровнево
Да и не кроссплатформенно.

Понимаю, что я привередливый. Но ведь есть где-то же библиотека моей мечты неужели до сих пор на С++ ничего подобного не написано?
Re: Добавил голосование
От: jedi Мухосранск  
Дата: 31.10.06 09:48
Оценка:
Высказывайтесь и будет вам щастье
Автор: jedi
Дата: 31.10.06
Вопрос: Подробности здесь http://rsdn.ru/Forum/Message.aspx?mid=2190942
Re[3]: HTTP в C++ приложениях
От: olexandr Новороссия http://demotivation.me/images/20140818/lxz0l278b9ep.jpg
Дата: 31.10.06 09:53
Оценка:
Здравствуйте, jedi, Вы писали:

J>Internet Explorer мне не нужен, явный оверкилл, мне просто GET запрос сделать надо.

Ну так и послать GET и жлать ответа или прибить ожидание когда уже не надо ждать
Некроссплатформенность маловероятна (c) Sheridan
...трава никак не влияет, разве что срывает покровы барьеров... (с) мыщъх
Re[3]: HTTP в C++ приложениях
От: Сергей  
Дата: 31.10.06 10:00
Оценка:
Здравствуйте, jedi, Вы писали:

J>Так что забыл еще одно требование — кроссплатформенность между основными платформами (палмы и симбианы не важны


В Qt что-то такое должно быть. Но Qt стоит денег.
Re[4]: HTTP в C++ приложениях
От: jedi Мухосранск  
Дата: 31.10.06 10:03
Оценка:
Здравствуйте, olexandr, Вы писали:

J>>Internet Explorer мне не нужен, явный оверкилл, мне просто GET запрос сделать надо.

O>Ну так и послать GET и жлать ответа или прибить ожидание когда уже не надо ждать

В-первых не кроссплатформенно, как я уже уточнил. Но это не самое страшное.

Internet Explorer имеет кучу недостаков:
а) он может просто не стоять у пользователя
б) я завишу от его настроек — прокси, сертификаты итп. Понятно, что все настраивается, но это может затронуть другие приложения.
в) это ОВЕРКИЛЛ. мне не нужен броузер, мне нужно выполнить простой GET запрос с возможностью отследить прогресс и отменить в случае необходимости.
г) это не стандартный С++, а COM со всеми вытекающими.

Если бы мне нужен был IE я бы взял его и использовал бы, не создавая этого топика

Все равно спасибо за высказанное мнение
Re[4]: HTTP в C++ приложениях
От: jedi Мухосранск  
Дата: 31.10.06 10:05
Оценка:
Здравствуйте, Сергей, Вы писали:

С>В Qt что-то такое должно быть. Но Qt стоит денег.


Да, наверное есть. Но тут тоже проблема — я буду вынужден таскать за собой (и покупать) QT. Сомневаюсь, что это библиотеку отделно от него можно использовать. Все равно спасибо — еще одна версия в копилку
Re[4]: HTTP в C++ приложениях: уточнение
От: algol Россия about:blank
Дата: 31.10.06 10:12
Оценка:
Здравствуйте, jedi, Вы писали:

A>>Ну тогда это URLDownloadToFile, URLOpenStream и прочие URL моникеры.

J>Интересно, но не в кассу. Мне нужна гибкость, те возможность задания хидеров итп. Слишком высокоуровнево

С хидерами нет проблем — IHttpNegotiate::BeginningTransaction, и все остальное тоже делается.

J>Да и не кроссплатформенно.


Так бы сразу и сказали.
Re[3]: HTTP в C++ приложениях
От: Slava Tutushkin Россия  
Дата: 31.10.06 10:12
Оценка:
Здравствуйте, jedi, Вы писали:

J>>>Кто чем пользуется для работы с HTTP в своих приложениях?

ST>>Я в ближайшее время планирую попробовать соответствующие классы из wxWidgets. По описанию выглядит довольно неплохо.
J>Уже ближе к делу). Смотрел некоторое время назад. Нет (или не понял как) возможности асинхронной работы — те запустить например десяток одновременных даунлоадов в одном потоке.
Это ещё надо посмотреть, как оно работает, кстати.
Вопрос в том, как ведёт себя GetInputStream из wxHTTP. Я фантазирую, что оно сразу возвращает управление, а потом, при необходимости, блокируется при чтении из возвращённого потока.
Эти фантазии имеют под собой кое-какую основу: у wxInputStream есть метод CanRead, который, в соответствии с документацией, сообщает, будет ли блок при вызове Read.

В общем, при первом взгляде на документацию, всё выглядит асинхронным.
Re[4]: HTTP в C++ приложениях
От: jedi Мухосранск  
Дата: 31.10.06 10:16
Оценка:
Здравствуйте, Slava Tutushkin, Вы писали:

ST>Здравствуйте, jedi, Вы писали:


ST>Эти фантазии имеют под собой кое-какую основу: у wxInputStream есть метод CanRead, который, в соответствии с документацией, сообщает, будет ли блок при вызове Read.


Это не асинхронность Что мне это CanRead в цикле вызывать? Или Sleep делать?
Нужны уведомления (те вызов колбека) и/или (даже лучше) что-то похожее на ACE-совский Reactor.
Re[5]: HTTP в C++ приложениях
От: Slava Tutushkin Россия  
Дата: 31.10.06 10:23
Оценка:
Здравствуйте, jedi, Вы писали:

ST>>Эти фантазии имеют под собой кое-какую основу: у wxInputStream есть метод CanRead, который, в соответствии с документацией, сообщает, будет ли блок при вызове Read.

J>Это не асинхронность Что мне это CanRead в цикле вызывать? Или Sleep делать?
J>Нужны уведомления (те вызов колбека) и/или (даже лучше) что-то похожее на ACE-совский Reactor.

Ооокей, а ещё есть вот такое:

wxSocket events

wxSOCKET_INPUT     There is data available for reading.
wxSOCKET_OUTPUT     The socket is ready to be written to.
wxSOCKET_CONNECTION     Incoming connection request (server), or successful connection establishment (client).
wxSOCKET_LOST     The connection has been closed.


В общем, всё равно всё хорошо.
Re[6]: HTTP в C++ приложениях
От: jedi Мухосранск  
Дата: 31.10.06 10:30
Оценка:
Здравствуйте, Slava Tutushkin, Вы писали:

ST>
ST>wxSocket events

ST>wxSOCKET_INPUT     There is data available for reading.
ST>wxSOCKET_OUTPUT     The socket is ready to be written to.
ST>wxSOCKET_CONNECTION     Incoming connection request (server), or successful connection establishment (client).
ST>wxSOCKET_LOST     The connection has been closed.
ST>


ST>В общем, всё равно всё хорошо.


Неа (вредный я)... Это я должен на уровень сокетов спуститься. Если так то нафига мне вообще специальный HTTP класс? Я могу и руками по HTTP общаться, вот только геморно это. Да и как быть с тем же HTTPS? А с асинхронной отсылкой запроса или приемом респонз хидеров? А с резолвингом днс перед подключением, а с самим подключением? — то что ты показал будет работать только во время приема Response stream-а.

В общем полумеры не нужны, интересует ultimate solution
Re[7]: HTTP в C++ приложениях
От: Slava Tutushkin Россия  
Дата: 31.10.06 10:59
Оценка:
Здравствуйте, jedi, Вы писали:

ST>>В общем, всё равно всё хорошо.

J>Неа (вредный я)... Это я должен на уровень сокетов спуститься. Если так то нафига мне вообще специальный HTTP класс? Я могу и руками по HTTP общаться, вот только геморно это. Да и как быть с тем же HTTPS? А с асинхронной отсылкой запроса или приемом респонз хидеров? А с резолвингом днс перед подключением, а с самим подключением? — то что ты показал будет работать только во время приема Response stream-а.
J>В общем полумеры не нужны, интересует ultimate solution

Осталось только сказать, что wxHTTP унаследован от wxSocketBase, у которого и есть перечисленные эвенты.

Но, в общем, вредность понятна, да. Я тоже хочу нормальный высокоуровневый, но сильно гибкий HTTP.
Re[2]: Ultimate solution
От: Conr Россия  
Дата: 31.10.06 11:14
Оценка:
Здравствуйте, jedi, Вы писали:

J>Еще раз уточню. Передо мной не стоит задача единоразово сделать какой-то HTTP запрос. Это в текущем приложении сделано (с помощью WinInet) — и благополучно сдано заказчику. Так есть опыт использования cURL.

А можно понтересоваться почему нельзя использовать libcurl? В ней есть все запрашиваемые функции. Имхо альтернатива только писать самому на сокетах (ну, еще есть libwww, хотя мне она совсем не нравится)
Re[5]: HTTP в C++ приложениях
От: olexandr Новороссия http://demotivation.me/images/20140818/lxz0l278b9ep.jpg
Дата: 31.10.06 11:47
Оценка:
Здравствуйте, jedi, Вы писали:

J>Здравствуйте, olexandr, Вы писали:


J>>>Internet Explorer мне не нужен, явный оверкилл, мне просто GET запрос сделать надо.

O>>Ну так и послать GET и жлать ответа или прибить ожидание когда уже не надо ждать

J>В-первых не кроссплатформенно, как я уже уточнил. Но это не самое страшное.


J>Internet Explorer имеет кучу недостаков:

J>а) он может просто не стоять у пользователя
J>б) я завишу от его настроек — прокси, сертификаты итп. Понятно, что все настраивается, но это может затронуть другие приложения.
J>в) это ОВЕРКИЛЛ. мне не нужен броузер, мне нужно выполнить простой GET запрос с возможностью отследить прогресс и отменить в случае необходимости.
J>г) это не стандартный С++, а COM со всеми вытекающими.

J>Если бы мне нужен был IE я бы взял его и использовал бы, не создавая этого топика

Вы меня не поняли, я имел в виду "взять и самому послать GET напрямую", то есть ручками сформировать этот запрос и отправить его.

J>Все равно спасибо за высказанное мнение
Некроссплатформенность маловероятна (c) Sheridan
...трава никак не влияет, разве что срывает покровы барьеров... (с) мыщъх
Re[3]: Ultimate solution
От: jedi Мухосранск  
Дата: 31.10.06 11:48
Оценка:
Здравствуйте, Conr, Вы писали:

C>Здравствуйте, jedi, Вы писали:


J>>Еще раз уточню. Передо мной не стоит задача единоразово сделать какой-то HTTP запрос. Это в текущем приложении сделано (с помощью WinInet) — и благополучно сдано заказчику. Так есть опыт использования cURL.

C>А можно понтересоваться почему нельзя использовать libcurl? В ней есть все запрашиваемые функции. Имхо альтернатива только писать самому на сокетах (ну, еще есть libwww, хотя мне она совсем не нравится)

Да в общем-то на ней скорее всего и остановлюсь (в последнем проекте нельзя было использовать из соображений мимнимальности екзешника,
поэтому выбора не было — только WinInet). Но вот чего-то она мне не по вкусу , да и не С++. Из готовых врапперов юзал cURLpp, но тогда он был пожалуй сыроват, да и в целом оставил ощущение недоделанности.

Конечно можно плюнуть на все и написать свою либу (или свой враппер для cURL), но к необоснованному велосипедостроительству отношусь крайне отрицательно . Да и — а вдруг повезет и найдется что-то готовое, юзают же что-то люди , не верю что все сови врапперы пишут.

P.S. Насчет libwww солидарен — смотрел года два назад, впечатление — полное гуано .
Re[6]: HTTP в C++ приложениях
От: jedi Мухосранск  
Дата: 31.10.06 11:51
Оценка:
Здравствуйте, olexandr, Вы писали:

O>Вы меня не поняли, я имел в виду "взять и самому послать GET напрямую", то есть ручками сформировать этот запрос и отправить его.


А зачем вы используете CreateFile/fopen/fstream.open()/чтоещетам, а не работаете на прямую с файловой системой/секторами диска в машинных кодах/на ассемблере?

А если серьезно — слишком сложный HTTP протокол, чтобы его каждый раз ручками имплементить/плодить баги.
Re[5]: HTTP в C++ приложениях
От: Сергей  
Дата: 31.10.06 11:58
Оценка:
Здравствуйте, jedi, Вы писали:

J>Да, наверное есть. Но тут тоже проблема — я буду вынужден таскать за собой (и покупать) QT. Сомневаюсь, что это библиотеку отделно от него можно использовать. Все равно спасибо — еще одна версия в копилку


В последних версия Qt, насколько мне известно, перестала быть кросс-платформенным GUI-фреймворком, а стала просто кросс-платформенным фреймворком — ребята из trolltech разделили все на набор независимых друг от друга библиотек. А кроме того, применимость для вашей задачи можно оценить, скачав GPL-версию — теперь она есть и под Windows.
Re[6]: HTTP в C++ приложениях
От: jedi Мухосранск  
Дата: 31.10.06 12:10
Оценка:
Здравствуйте, Сергей, Вы писали:

С>В последних версия Qt, насколько мне известно, перестала быть кросс-платформенным GUI-фреймворком, а стала просто кросс-платформенным фреймворком — ребята из trolltech разделили все на набор независимых друг от друга библиотек. А кроме того, применимость для вашей задачи можно оценить, скачав GPL-версию — теперь она есть и под Windows.


Спасибо за информацию, посмотрю. Насчет задачи — я ниже в ветке написал
Re[4]: Ultimate solution
От: Conr Россия  
Дата: 31.10.06 12:54
Оценка:
Здравствуйте, jedi, Вы писали:


J>Да в общем-то на ней скорее всего и остановлюсь (в последнем проекте нельзя было использовать из соображений мимнимальности екзешника,

J>поэтому выбора не было — только WinInet). Но вот чего-то она мне не по вкусу , да и не С++. Из готовых врапперов юзал cURLpp, но тогда он был пожалуй сыроват, да и в целом оставил ощущение недоделанности.
curlpp мне тоже не понравилась

J>Конечно можно плюнуть на все и написать свою либу (или свой враппер для cURL), но к необоснованному велосипедостроительству отношусь крайне отрицательно . Да и — а вдруг повезет и найдется что-то готовое, юзают же что-то люди , не верю что все сови врапперы пишут.

Я в свое время остановился именно на этом варианте, то есть свой C++ враппер для libcurl, потому как ничего что бы меня устроило, не нашел. А вот к работе именно libcurl никаких серьезных нареканий у меня нет
Re[5]: Ultimate solution
От: jedi Мухосранск  
Дата: 31.10.06 13:15
Оценка:
Здравствуйте, Conr, Вы писали:

C>Я в свое время остановился именно на этом варианте, то есть свой C++ враппер для libcurl, потому как ничего что бы меня устроило, не нашел. А вот к работе именно libcurl никаких серьезных нареканий у меня нет


Спасибо . ну что ж, подождем может еще чего присоветует, а нет так — и правда займусь велосипедом
Re[2]: Ultimate solution
От: kan Великобритания  
Дата: 01.11.06 09:03
Оценка:
jedi wrote:

> Но! По ряду причин ни одно из решений, которые я использовал ранее, мне

> не нравятся.
Взгляни на всякий случай на libxml/nanohttp, вдруг понравится. Хотя, как я представляю, кроме того, что маленький размер
— никаких преимуществ перед libcurl нет.
Posted via RSDN NNTP Server 2.0
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Re: Итоги подведем ...
От: jedi Мухосранск  
Дата: 02.11.06 12:54
Оценка:
Мдя, очень печальные итоги опроса. ИМХО, очень четко проявились проблемы современного С++ — бесконечная удаленность от практического программирования. Посмотите в мир Java — подобный топик в их форуме вызвал бы смех: куча бесплатных библиотек, приятный выбор.

Из-за острой нехватки библиотек промышленного уровня решать задачи на С++ становится все труднее и труднее ... Печально это
Re[2]: Итоги подведем ...
От: Conr Россия  
Дата: 02.11.06 13:12
Оценка:
Здравствуйте, jedi, Вы писали:

J>Мдя, очень печальные итоги опроса. ИМХО, очень четко проявились проблемы современного С++ — бесконечная удаленность от практического программирования. Посмотите в мир Java — подобный топик в их форуме вызвал бы смех: куча бесплатных библиотек, приятный выбор.

Позволю себе не согласиться. Практическое программирование в моем понимании все же программирование платное. А выбор платных библиотек для данной задачи весьма широк. В крайнем случае более-менее грамотный разработчик с этой задачей без особых проблем расправится за пару недель, что в принципе сравномо с ценой библиотеки. Хотя это только в данном конкретном случае. Обычно все же дешевле купить. Плюс нужно учитывать, что покупая библиотеку, одновременно получаешь и поддержку, то есть время вникания в нее сокращается, часто весьма значительно.

J>Из-за острой нехватки библиотек промышленного уровня решать задачи на С++ становится все труднее и труднее ... Печально это

Как это решение может стать труднее чем раньше? Раньше ж этих библиотек тоже не было, проще от этого не становилось. Другое дело, если сами задачи становятся сложнее, но и в этом случае я не вижу ничего страшного.
Re[2]: Итоги подведем ...
От: IID Россия  
Дата: 02.11.06 13:48
Оценка:
Здравствуйте, jedi, Вы писали:

J>Мдя, очень печальные итоги опроса. ИМХО, очень четко проявились проблемы современного С++ — бесконечная удаленность от практического программирования. Посмотите в мир Java — подобный топик в их форуме вызвал бы смех: куча бесплатных библиотек, приятный выбор.


куча бесплатного есть в cURL comparison. Смотрели ?

J>Из-за острой нехватки библиотек промышленного уровня решать задачи на С++ становится все труднее и труднее ... Печально это


эээ... кто здесь ?
kalsarikännit
Re[2]: HTTP в C++ приложениях
От: frogkiller Россия  
Дата: 02.11.06 16:13
Оценка:
Здравствуйте, Константин Л., Вы писали:

КЛ>можно посмотреть MSXML4::IXMLHTTPRequest/IServerXMLHTTPRequest2

КЛ>асинхронность есть, мониторинга прогресса нету

Мониторинг есть, см. XMLDOMDocumentEvents.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Курица — это инструмент, с помощью которого одно яйцо производит другие.
Re[3]: HTTP в C++ приложениях
От: Константин Л. Франция  
Дата: 02.11.06 16:59
Оценка:
Здравствуйте, frogkiller, Вы писали:

F>Здравствуйте, Константин Л., Вы писали:


КЛ>>можно посмотреть MSXML4::IXMLHTTPRequest/IServerXMLHTTPRequest2

КЛ>>асинхронность есть, мониторинга прогресса нету

F>Мониторинг есть, см. XMLDOMDocumentEvents.


хм...Под мониторингом понималась возможность узнать сколько байт скачалось. Про readyState я знаю, но это, в моем понимании, не совсем то
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[4]: HTTP в C++ приложениях
От: frogkiller Россия  
Дата: 03.11.06 10:22
Оценка:
Здравствуйте, Константин Л., Вы писали:

КЛ>хм...Под мониторингом понималась возможность узнать сколько байт скачалось. Про readyState я знаю, но это, в моем понимании, не совсем то


В таком варианте согласен

Есть забавная модификация XMLHTTPRequest'а от Mozilla
Здесь в чистом виде то, что нужно, но

nsIJSXMLHttpRequest... Warning: This interface must only be used from JavaScript code, rather than from native code.


Конечно, есть исходники, но имхо быстрее будет самому написать обёртку для каждой целевой платформы из имеющихся.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Курица — это инструмент, с помощью которого одно яйцо производит другие.
Re[5]: HTTP в C++ приложениях
От: Константин Л. Франция  
Дата: 03.11.06 10:50
Оценка:
Здравствуйте, frogkiller, Вы писали:

F>Здравствуйте, Константин Л., Вы писали:


КЛ>>хм...Под мониторингом понималась возможность узнать сколько байт скачалось. Про readyState я знаю, но это, в моем понимании, не совсем то


F>В таком варианте согласен


F>Есть забавная модификация XMLHTTPRequest'а от Mozilla


Смотрю, они не только COM своровали

[]
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[6]: HTTP в C++ приложениях
От: frogkiller Россия  
Дата: 03.11.06 11:46
Оценка:
Здравствуйте, Константин Л., Вы писали:

F>>Есть забавная модификация XMLHTTPRequest'а от Mozilla

КЛ>Смотрю, они не только COM своровали

Почему сразу своровали? позаимствовали удачное технологическое решение.

И хотя мне лично COM не очень нравится, надо признать, что для очень большего числа относительно простых разработок он сильно облегчает жизнь. Так сказать, проверка практикой показала актуальность.

К тому же, видишь, уже что-то полезное они прикрутили от себя.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Курица — это инструмент, с помощью которого одно яйцо производит другие.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.