C# kullanarak Twitter akış API'sinden veri okumaya çalışıyorum ve bazen API hiçbir veri döndürmeyecek ve neredeyse gerçek zamanlı bir yanıt arayacağım Akışın ertesi gün veya iki gün için daha fazla veri göndermemesi durumunda, okuyucuda 1 bayttan fazla bir arabellek uzunluğu kullanmakta tereddüt ettim.Bir seferde bir bayt okumadan bir HTTP akışını tüketme
Ben aşağıdaki satırı kullanarak olmuştur: Şimdi uygulamayı büyütmek planladıkları
input.BeginRead(buffer, 0, buffer.Length, InputReadComplete, null);
//buffer = new byte[1]
, ben 1 bir boyut CPU kullanımı bir çok yol ve bu sayıyı artırmak isteyen düşünüyorum ama yine de akışın sadece engellenmesini istemiyorum. Önümüzdeki 5 saniye içinde başka bir bayt yoksa ya da benzer bir şey yoksa akışın geri dönmesi mümkün mü?
Sadece açılış ve çünkü Twitter'ın politikaları bağlantıyı kapatmadan devam edemez. Erken okumayı sonlandırmak için async geri arama zamanlayıcısını nasıl kullanabileceğimin bir örneğini verebilir misiniz? – HenryZhang
@huadianz: Size bir başlangıç noktası vermek için kaba bir örnek eklendi. –
Okuma, arabellekte herhangi bir veriyi döndürüyor mu, yoksa bu veriler kayboluyor mu? – HenryZhang