簡體   English   中英

Java中的長輪詢

[英]Long polling in java

我已經為長時間輪詢編寫了服務器端代碼。 我想用Java編寫客戶端程序。 因此,按照長時間輪詢,客戶端發送一個由服務器幫助的請求,並且服務器在事件發生時響應該請求,然后客戶端發送一個新請求。

所以我要面對的麻煩是用Java編寫的客戶端。 發送請求后,如何繼續在客戶端檢查服務器是否響應。 我應該以什么間隔將請求發送到服務器。 我很困惑。 我是Web技術的初學者。 我嘗試使用谷歌搜索,但是所有示例均基於客戶端,即Java腳本或JSP。 任何人都可以通過客戶端為Java HTTp應用程序提供指向適當教程的鏈接,或在此上提供示例(即實現長時間輪詢)。

對HTTPURLConnection的getInputStream的調用將返回阻塞流。 在此流上調用read將阻塞線程,直到服務器上有可用數據為止,而無需繼續輪詢數據。

在一個單獨的線程中調用read並將HTTPURLConnection保留在范圍內,而無需關閉連接。 如果有數據,這應該可以讓您取回數據。 從服務器收到200OK后,請在同一連接上發送回另一個請求以使其保持打開狀態。 (這是如果您尚未實現請求超時。)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM