我正在開發一個使用asp.net mvc的Web應用程序,並且需要在客戶端上執行秒錶(計時器)(預編程爲30秒,以在特定時間啓動)使用服務器的時間,順便說一句,客戶端的時鐘不能作爲服務器的時鐘。所以,我使用jQuery來調用由JSON服務器並獲取時間,但它是非常緊張,因爲每一秒我所說的服務器,以獲得時間,是這樣的:在客戶端啓動計數器的時間
$(function() {
GetTimeByServer();
});
function GetTimeByServer() {
$.getJSon('/Home/Time', null, function(result) {
if (result.SecondsPending < 30) {
// call another function to start an chronometer
} else {
window.SetTimeout(GetTimeByServer, 1000); //call again each 1 second!
}
});
}
它工作正常,但當我有超過3個或4個這樣的電話時,瀏覽器會慢慢運作!我想知道,在客戶端如何提高性能,或者是否有任何方法可以做到這一點...有沒有什麼辦法讓客戶端聽到像「套接字」那樣的服務器,以瞭解計時器是否應該啓動..
PS:Sorry for my english!
感謝 乾杯
客戶端上的時間是否逐漸不同? JavaScript有一個Date對象,爲什麼不能在頁面加載和客戶端時間設置它? – 2010-06-07 13:05:00
注意:這種方法會在您同時接入20個以上用戶(可能更快)時立即炸燬您的服務器 - 它不能很好地擴展;此外,傳輸延遲(的變化)將會消除任何時間精度的錯覺。 – Piskvor 2010-06-07 13:43:04
Piskvor,你建議一些我可以做些什麼來提高性能? – 2010-06-07 13:49:28