2013-10-23 47 views
0

爲什麼要讓服務器推送數據來獲取通知,比如使用SingleR,同時它可以作爲客戶端?爲什麼要讓服務器推送數據?

使用javascript定時事件,以指定的時間間隔檢查最近的更新,只要用戶連接到服務器,用戶就可以收到通知。

所以我的問題是爲什麼更多的客戶端可以在服務器上工作?

+1

爲什麼每分鐘ping 10次服務器以查看是否有更新......而是隻在有新信息可用時才推送服務器。雙方工作較少。 – Steve

+0

我真的不明白你在說什麼,但是繼續問你最後一個問題,服務器一般比客戶端計算機強大得多,因此應該更快地完成工作。 –

回答

1

服務器沒有更多的工作,它的工作量較少。假設您有10000個客戶端(並且該數字很容易在100K甚至數百萬的流行網站上)每隔X秒輪詢一次服務器,以確定是否有可用的新數據。即使沒有新數據返回到客戶端,服務器也必須每X秒處理10000個請求。這是巨大的開銷。

當服務器向客戶端推送更新時,服務器知道更新何時可用,並且可以將其發送到與此數據相關的客戶端。這大大減少了網絡流量。

此外,它使客戶端代碼更簡單,但我認爲服務器是這裏的關鍵問題。

0

首先,如果你沒有使用服務器推送,你不會得到即時更新,例如你不能做聊天應用程序,第二個爲什麼打擾客戶做的工作,它不是爲了做到這一點?第三,你會在客戶端導致性能問題,比如@Ash說服務器比客戶端計算機強大得多。