Я пытаюсь использовать классы .NET WebRequest/WebResponse для доступа к API потоковой передачи Twitter здесь "http://stream.twitter.com/spritzer.json"
.
Мне нужно иметь возможность открывать соединение и читать данные постепенно из открытого соединения.
В настоящее время, когда я вызываю метод WebRequest.GetResponse
, он блокируется до тех пор, пока не будет загружен весь ответ. Я знаю, что существует метод BeginGetResponse
, но это будет делать то же самое в фоновом потоке. Мне нужно получить доступ к потоку ответов во время загрузки. Мне это не кажется возможным с этими классами.
В документации Twitter есть специальный комментарий:
"Обратите внимание, что некоторые клиентские библиотеки HTTP возвращают тело ответа только после того, как соединение было закрыто сервером. Эти клиенты не будут работать для доступа к Streaming API. Вы должны использовать HTTP-клиент, который будет возвращать данные ответа постепенно. Большинство надежных клиентских библиотек HTTP предоставят эту функцию. Например, Apache HttpClient будет обрабатывать этот вариант использования."
Они указывают на Appache HttpClient, но это мало помогает, потому что мне нужно использовать .NET.
Любые идеи, возможно ли это с помощью WebRequest/WebResponse
, или мне нужно идти на сетевые классы более низкого уровня? Может быть, есть другие библиотеки, которые позволят мне это сделать?
спасибо Аллен