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