Odczyt danych z otwartego strumienia HTTP
Próbuję użyć klas .NET WebRequest / WebResponse, aby uzyskać dostęp do interfejsu strumieniowego API Twittera tutaj"http://stream.twitter.com/spritzer.json"
.
Muszę mieć możliwość otwarcia połączenia i stopniowego odczytywania danych z otwartego połączenia.
Obecnie, kiedy dzwonięWebRequest.GetResponse
metoda blokuje się, dopóki cała odpowiedź nie zostanie pobrana. Wiem, że jestBeginGetResponse
metoda, ale to po prostu zrobi to samo na wątku w tle. Muszę uzyskać dostęp do strumienia odpowiedzi podczas pobierania. To nie wydaje mi się możliwe przy tych klasach.
W dokumentacji Twittera znajduje się specjalny komentarz na ten temat:
„Należy pamiętać, że niektóre biblioteki klienta HTTP zwracają treść odpowiedzi tylko po zamknięciu połączenia przez serwer. Te klienty nie będą działać w celu uzyskania dostępu do interfejsu API strumieniowania. Musisz użyć klienta HTTP, który będzie stopniowo zwracał dane odpowiedzi. biblioteki klienckie zapewnią tę funkcjonalność, na przykład Apache HttpClient obsłuży ten przypadek użycia. ”
Wskazują na Appache HttpClient, ale to niewiele pomaga, ponieważ muszę używać .NET.
Wszelkie pomysły, czy jest to możliweWebRequest/WebResponse
, czy muszę iść na niższy poziom zajęć sieciowych? Może są inne biblioteki, które pozwolą mi to zrobić?
Thx Allen