2013-08-16 59 views
0

我需要開發一個實時應用程序......只是想知道通過websockets推送圖像是不是個好主意?只有我能想到的優點是它會減少HTTP請求的數量,但是如果我將不得不對它進行編碼然後發送它,這意味着更多的數據傳輸,將會減少HTTP請求的數量。通過websocket推送圖像是不是個好主意?

有人可以列出優點和缺點嗎?

回答

0

優點:

  • 您可以生成的(也許一直在運行)服務器軟件的實時圖像。請注意,這不會是一個真正的優勢,因爲一直運行的服務器軟件也可以直接提供http數據並在運行中生成它。

缺點:

  • 沒有數據將被緩存。當客戶端必須兩次顯示/加載相同的圖像時,這是最無效的。
  • 你必須打擾編碼。
  • 您必須以某種方式將傳輸的數據轉化爲img,這隻能通過data:-方案或canvas(至少這些是我能想象的唯一方式)實現,這不是很靈活(不受所有瀏覽器支持,長度限制)
  • 無法使用瀏覽器優化加載順序的函數。
  • 移動客戶端無法決定天氣來加載數據。

另行通知,有中沒有優勢在於更低的HTTP連接,必須成立,由於HTTP允許保持連接活着(見http://www.w3.org/Protocols/HTTP/1.1/draft-ietf-http-v11-spec-01.html瞭解詳細信息)。這樣瀏覽器可以使用保持活動狀態,如果它支持它並且不使用它,如果它不支持。

+0

感謝您指出所有要點。我看到的主要觀點是瀏覽器緩存,但如何使用本地存儲而不是緩存? –

+0

本地存儲是什麼意思?在用戶的硬盤上?數據很大嗎?許多大型網站使用許多小圖像的技巧:它們將所有圖像傳送到單個圖像文件中,並通過css選擇顯示的部分,這可能是一個選項嗎? – urzeit

+0

用戶硬盤上有本地存儲。但是我無法使用大圖片,因爲用戶可以搜索和過濾很多圖片。我正在考慮通過網絡套接字發送圖像並將它們存儲在本地存儲中..你說什麼? –

相關問題