2012-12-04 135 views
3

我想用HTTP multipart在一個HTTP響應消息中返回一個動態生成的二進制流(如mp4視頻剪輯),後面是簽名文件,然後是其他內容到客戶端。在我的情況下,構建http頭字段時mp4的大小(響應消息的第一部分)是未知的,所以我無法爲mp4部分設置Content-Length。我將需要使用多部分邊界來分隔每個部分。不過我被告知,如果邊界字符串出現在mp4數據中,multipart將不起作用。其他人建議對每個部分進行編碼(例如BASE64編碼),以便我可以選擇一個非BASE64字符的邊界,這些字符永遠不會出現在http響應的任何部分內。問題是BASE64會增加33%的大小,這是我們無法接受的開銷。 現在的問題是: 有沒有辦法解決這個問題?我錯過了什麼嗎?或者你可能知道一個更好的方法來做到這一點(我們必須在一個HTTP響應中返回幾個部分)?http多部分響應和邊界

非常感謝,

回答

0

如果客戶明白你總是可以剝離邊界線,所以你不會有問題存在的消息格式。

您需要記住邊界字符串並在數據流中查找它的結尾部分,並只將數據轉發給位於這些部分之間的播放器。

+0

將bounday字符串作爲HTTP頭字段發送給客戶端,並且是的,客戶端應該管理它。問題是,如果邊界出現在「部分」的主體中,它將被視爲錯誤的邊界。 –