我在想客戶端和服務器之間的同步事件。關於它的一般想法是客戶端應該請求服務器期刊檢查更改的數據。問題在於客戶端發出的不必要的請求,即使服務器端沒有任何改變的東西。所以我認爲有可能在事件發生時請求客戶端瀏覽器,但我不確定是否可能。最近幾天我聽說,這將是可能的HTML 5。服務器可以請求客戶端的瀏覽器?
是否有可能從服務器請求clien't瀏覽器在網絡?如果有可能,那麼這是不好的做法?請求客戶端有什麼共同的特點?
我在想客戶端和服務器之間的同步事件。關於它的一般想法是客戶端應該請求服務器期刊檢查更改的數據。問題在於客戶端發出的不必要的請求,即使服務器端沒有任何改變的東西。所以我認爲有可能在事件發生時請求客戶端瀏覽器,但我不確定是否可能。最近幾天我聽說,這將是可能的HTML 5。服務器可以請求客戶端的瀏覽器?
是否有可能從服務器請求clien't瀏覽器在網絡?如果有可能,那麼這是不好的做法?請求客戶端有什麼共同的特點?
它可能與網絡套接字或抽象它們的工具。看到這個帖子了類似的問題/情景:
HTML5允許服務器推送通知客戶感謝WebSocket API來。你將需要一個WebSocket server。那裏有很多實現。本規範的唯一問題仍然是草案,可能會發生變化。例如,規範最近在Google Chrome瀏覽器中發生了變化。所以如果你願意,它還沒有得到廣泛的支持。
服務器不會「請求」客戶端,而是客戶端通過打開HTML 5 WebSocket來初始化對話。該套接字保持打開狀態,並且服務器可以隨時將數據推送回客戶端。
您可以使用「長輪詢」在HTML 4中執行此操作,其中客戶端發出請求並且響應也會保持較長時間的打開狀態。這裏的問題是,客戶端無法在同一個套接字上發送另一個請求,因此需要將兩個套接字向服務器開放 - 一個發送請求,另一個接收響應。如果你有很多連接到服務器的客戶端,並且已經處於服務器可以處理的連接數量的限制範圍內,那麼這隻會是一件壞事。
在任何情況下,您都希望將服務器配置爲使用「非阻塞」(NIO)連接,以便每個客戶端不需要一個線程,因爲處理任何超過幾千個併發線程似乎讓服務器停下來。使用非阻塞解決方案,理論上每個服務器實例可以有5萬個或更多的連接,但由於可以使用多個連接快速處理的請求數量有多大,這將是有問題的。如果每個客戶端每秒發出一個請求,那麼您將每毫秒處理50個請求,這不可能讓您有足夠的時間對數據庫進行任何合理的操作。
請訪問以下鏈接:
http://blog.maxant.co.uk/pebble/2011/06/21/1308690720000.html
http://blog.maxant.co.uk/pebble/2011/05/22/1306092969466.html
http://blog.maxant.co.uk/pebble/2011/03/05/1299360960000.html
澄清,你所問的是,如果有可能的服務器推出的動作給客戶端做一點事? – sdolgy