2009-04-20 70 views

回答

7

你可以使用所謂的彗星:(使用的XmlHttpRequest) http://en.wikipedia.org/wiki/Comet_(programming)https://stackoverflow.com/search?q=comet

基本上,JavaScript中的瀏覽器向服務器發出請求的時候了。服務器在有一些數據要服務之前不會響應。

從文章:

瀏覽器使得服務器,其可以等待數據響應之前是可用的的異步請求。響應可以包含客戶端要執行的編碼數據(通常是XML或JSON)或JavaScript。在處理響應結束時,瀏覽器創建併發送另一個XHR,以等待下一個事件。因此,瀏覽器始終保持對服務器的未完成請求,並在發生每個事件時予以解答。

1

在一些情況下,輪詢即,以規則(短)間隔發送請求可能就足夠了。但是,上面給出的答案 - 彗星 - 對於沒有客戶端請求發送數據而言,是最接近真實交易的答案。

1

您僅限於HTTP中的輪詢。早期的Netscape瀏覽器之一確實實現了HTTP push我似乎記得,在本世紀初,但它沒有得到任何地方。

您不能使用閃光燈,使用Javascript/XML,Silverlight的原始套接字。您可以使用Java和Active-X,但您需要一個證書。 Quake Live顯示了這一點,所有的網絡顯然仍然是基於UDP的,但是在IE或Firefox的瀏覽器插件中。

因此投票,投票,投票。

相關問題