2017-01-17 39 views
0

我目前使用Jetty 8,我想在servlet響應中寫入幾個事件(文本)。例如:Jetty是否支持HTTP分塊響應/傳輸編碼?

寫入開始 寫事件2 寫EVENT3 寫出完整

所有由\ n

這種反應的範圍界定很可能不超過20秒,但客戶應該得到每個事件(行)發生。我找不到任何關於此的文檔,但我想與社區進行覈對。

如果Jetty不這樣做,有沒有其他的servlet引擎可以嵌入?

順便說一句,我嘗試了以下,但沒有收到數據,直到servlet返回,然後它一次全部收到。

resp.setContentType("text/html"); 
    resp.setHeader("Transfer-Encoding", "chunked"); 
    resp.getWriter().write("closing"); 
    resp.getWriter().flush(); 

    try { 
     Thread.sleep(5000); 
    } catch (InterruptedException e) { 
     e.printStackTrace(); 
    } 

    resp.getWriter().write("closed"); 
    resp.getWriter().flush(); 

編輯:必須使用\ r \ n作爲行結束

回答

1

它的工作原理,如果每一行由\ r \ n

resp.setContentType("text/html"); 
    resp.setHeader("Transfer-Encoding", "chunked"); 
    resp.getWriter().write("closing\r\n"); 
    resp.getWriter().flush(); 

    try { 
     Thread.sleep(5000); 
    } catch (InterruptedException e) { 
     e.printStackTrace(); 
    } 

    resp.getWriter().write("closed\r\n"); 
    resp.getWriter().flush(); 
終止
相關問題