![](/img/trans.png)
[英]how to handle / read the response with “Transfer-Encoding:chunked”?
[英]How to enable transfer-encoding:chunked in Java on AppEngine
我已就此主題進行了大量谷歌搜索,但未能找到任何內容(除了確認AppEngine忽略對'resp.setHeader(“transfer-encoding”,xxxx)'的調用。
我的問題是我有一個服務器進程需要一點時間才能完成(~3秒avg),但是會產生連續流的結果(即第一個數據對象在10ms之后就緒)。
目前,服務器緩沖響應,然后將整批內容向下發送到客戶端以供顯示。 雖然這是有效的,但它不是一個出色的用戶體驗,因為用戶必須等待整個過程完成才能看到第一個結果......
我相信使用分塊傳輸可以解決這個問題,因為我可以立即向客戶端發送第一個響應(並在可用時立即傳輸后續數據),從而更好地了解進度等。
我的問題是我無法弄清楚如何啟用分塊傳輸。
谷歌搜索分塊轉移和應用程序引擎主要是從想要禁用 blobstore中的分塊傳輸的人發布帖子,或發布默認啟用分塊傳輸的帖子。 但是,到目前為止,我的測試表明,至少在我的應用中,這不是真的。
同樣,非app引擎引用談論設置'transfer-encoding'內容標題 - 但是這在AppEngine上被明確忽略(至少,它是根據python文檔 - 在Java端找不到任何東西,表明它明確地,但是當我測試它時它沒有工作)。
最后,我已經嘗試刷新respose對象,獲取響應編寫器和刷新,獲取響應輸出流和刷新等沒有區別。
所以 - 我的問題是: 如何啟用分塊傳輸?
Appengine不支持響應流。 必須立即返回整個回復。
App Engine不支持向客戶端發送數據,在應用程序中執行更多計算,然后發送更多數據。 換句話說,App Engine不支持響應單個請求的“流式傳輸”數據。
請參閱響應Java
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.