2010-02-05 35 views
4

我試圖從我的HTTP服務器將數據包推送到瀏覽器,使用Comet「forever iframe」並使用Transfer-編碼:分塊頭。我發現我的腳本標籤沒有被立即解釋,我必須在瀏覽器開始響應之前發送一些塊。在IE8的情況下,這似乎需要類似於256字節的數據(我沒有精確檢查),而在Firefox 3.5.7中它似乎超過了千字節。在連接關閉之前,我還沒有設法讓Chrome響應腳本標記。但是,在所有情況下,如果我結束分塊數據(使用'0'塊),則會解釋任何緩存的塊。我在Safari上發現了一些reference這種行爲,但沒有發現其他瀏覽器的任何此類信息。如何停止在瀏覽器中緩存流式Comet通信

我想知道的是,如何在發送它們時可靠地執行這些腳本標記,而沒有似乎是某種緩衝機制延遲它們的執行?

回答

1

你必須永遠使用iframe嗎?如果您使用websocket並回退到flash xml套接字,您可以支持當前正在使用的所有瀏覽器(功能手機上除外),並獲得真正的套接字api。

+0

你是絕對正確的......事實上,這正是我現在所做的。當時我問,HTML5 websocket支持並不像現在這樣成熟。感謝您的回答,它很好地回答了這個問題:) – NeilDurant 2010-12-08 04:09:27

相關問題