0
對於需要在HTTP響應消息中放入來自YouTube的特定內容(音頻數據)的實驗目的,我使用的是以下代碼。Netty將HTTP響應的內容大小設置爲0
現在我正在測試具體的視頻,我知道內容的大小。在沒有此代碼的情況下進行一些測試並捕獲大小變量。
if (contType.equals("text/plain") && contLen > 200000 && contLen < 300000) {
outputFileName = projRoot + File.separator + folder + File.separator + "v_" + seqNum + "_" + String.valueOf(ranNum);
log.debug("This is AUDIO data received, and dropping it off");
response.setHeader("Content-Length", 0);
response.getContent().clear();
return true;
}
但是,當我運行這個程序時,我看到打印的日誌;但是,它並沒有真正刪除內容。我看到客戶端(瀏覽器Flash Player)仍然能夠下載內容,並且這次的大小不同。視頻播放視覺和音頻。
在內容到達客戶端之前刪除內容的正確方法是什麼?我在這裏錯過了什麼?
「脫落」是什麼意思?你的意思是阻止你的數據被髮送到瀏覽器?在這段代碼中我看不到任何內容正在寫入頻道......尋找對「channel.write」的調用並修改正在寫入的內容。 –
正確。在代碼的這一點上,數據已經寫入/附加到HTTP響應消息,我試圖清除它。是的,我試圖阻止數據到達瀏覽器。如果你建議控制channel.write,這意味着我們必須在代理的較低層次上執行它(我使用的是LittleProxy,它在netty之上實現)。有沒有辦法在HTTP /代理級別處理這個問題? – AnilJ
爲什麼標記爲純文本/純文本的內容是音頻?這裏真正的*問題是什麼? – EJP