2015-08-30 27 views
0

我正在研究以每分鐘30頁的速度運行的實時書籍掃描軟件。面臨的挑戰之一是在發生書籍掃描時將書籍掃描快速傳輸到瀏覽器。每個掃描頁面大約2MB,並且我們無法將其實時發送給瀏覽器,因此我們縮小圖像大小,首先發送大約100K的預覽,然後逐步發送更高質量的圖像。這給用戶不斷加載的印象,每個人都很開心。將二進制數據從Web服務器傳輸到瀏覽器的最快捷方式是什麼?

最大的挑戰是如何在不經過大量不必要的步驟的情況下最有效地傳輸二進制數據。

現在我通過websocket發送字符串編碼的圖像,但需要兩個額外的步驟 - 首先將圖像編碼爲字符串掃描書機(它運行linux),然後在客戶端解碼。有誰知道我是否可以通過websockets以某種方式發送二進制數據? (我們也必須支持IE9 +)

還有什麼其他的方法可以將二進制數據從linux掃描儀發送到瀏覽器?還有其他通信協議嗎? (我很抱歉,因爲不知道每一個協議,我正在學習和任何幫助讚賞。)

回答

1

有誰知道我是否可以用websockets以某種方式發送二進制數據?

你絕對可以用websockets發送二進制數據。過去一直存在的唯一問題是,瀏覽器一旦得到二進制數據,就沒有真正的客戶端支持來處理二進制數據。但現在所有現在正在運送的主流瀏覽器都已經開始使用。

(我們也有支持IE9 +)

IE9完全不支持WebSockets的。所以在客戶端,您將無法使用相同的JavaScript處理您的二進制數據,這與其他瀏覽器無法相比。

但我想你可以提供一些輔助機制,以一些其他形式發送數據到IE9的數據,它實際上可以處理(例如,使用一些IE支持的插件,或者任何可能適用的ActiveX工具) ,也許在一些退化的方式,仍然給那些IE9用戶一半可用的東西。

當您的組織決定撤銷支持IE9的時候,您可以切換IE9服務器端的東西,而您部署的主要東西只是繼續工作,因爲它已經(包括IE10 +和Edge)。

相關問題