어떤 이유로 새로운 채팅 메시지를 확인하면 기대했던 것보다 많은 양의 브라우저 (어느 정도 서버)가로드됩니다. 누구나 내가 부하를 줄이기 위해 더 효율적으로 만들 수있는 방법을 본다.자바 스크립트 채팅 폴링 스크립트를보다 효율적으로 만들 수있는 방법은 무엇입니까?
// Begin the cycle of refreshing the mini chat after the standard delay.
function startRefreshingMinichat(){
var secs = 30; // Chat checking frequency.
setTimeout(function(){
checkForNewChats();
startRefreshingMinichat(); // Loop the check for refresh.
}, secs*1000);
}
// Check for the latest chat and update if it's different.
function checkForNewChats(){
// Check whether the latest chat doesn't match the latest displayed chat.
// NOTE THAT THIS CALLBACK DOES NOT TRIGGER IMMEDIATELY.
$.getJSON('api.php?type=latest_chat_id&jsoncallback=?', function(data){
var newChats = false;
// Update global data stores if an update is needed.
if(updateDataStore(data.latest_chat_id, 'chat_id', 'latestChatId', 'chat_id')){
newChats = true;
}
if(newChats){ // there are new chats to show.
refreshMinichat(null, 50); // loads new chat content.
}
// Since this callback isn't immediate, any feedback has to occur whenever the callback finishes.
}); // End of getJSON function call.
}
var secs = 1; : o) – jAndy
오른쪽. : p 나는 이것이 그 문제의 일부라고 명시해야한다고 생각합니다. 나는 채팅을 더 자주 업데이트하기 위해 더 빠른 체크 타임을주고 싶지만 브라우저가 너무 많이 바뀌는 것 같다. (나는 그 자체로 측정 할 수는 없지만 서버로드에 대한 반향이 있다고 가정합니다.) – Kzqai