簡體   English   中英

如何在AppEngine上啟用transfer-encoding:Java中的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.

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