HTTPClientSession kullanmak için her zamanki örnek kod şöyle gider Poco HTTPClientSession okunan operasyonlar engellenmiyor, böylece onları istediğim zaman iptal edebilir miyim?zaman uyumsuz
cevap
Sadece bir fikir, Kodunuzu bir iş parçacığının içine koymaya çalışın.
http://pocoproject.org/slides/130-Threads.pdf
Selamlar
bu nasıl yardımcı olur? Bu yeni iş parçacığının belirsiz bir süre için bloke olmasını isterim –
Eğer oturum.receiveResponse() öğesini bir iş parçacığının içine koyarsanız, ana kodunuzu ayrı iş parçacığından çalıştırabileceğiniz için engelleniyor ya da olmasın endişelenmenize gerek yok. . Engelleme bölümünü iptal etmek isterseniz, iş parçacığını öldürebilir veya siparişi keserek durdurabilirsiniz. Konular arasında veri alışverişi yapmak için örneğin referansları/işaretçileri veya mutekslerle senkronize edilmiş sıraları kullanın. Bir süre için receiveResponse() öğesini engellemek isterseniz Time-Alives (set-AliAliveTimeout yöntemi) ve zaman aşımları görünmelidir. İyi şanslar –
Tamam, geçerli bağlantınız için küçük bir TimeOut yapılandırmak için HTTPClientSession :: setKeepAliveTimeout() yöntemini deneyin. Belgelerden, "Aktarım, sendRequest() çağrılana kadar veya oturumu yok olana kadar geçerlidir", böylece rs akışınız bir süre boyunca hiçbir şey almazsa, sorunsuz devam etmelidir. –
bunun için herhangi bir çözüm buldular mı? – UVV