저는 성공시 자체를 호출하기 위해 setTimeout을 호출하는 ajax 호출이있는 함수에서 간단한 채팅 구현 작업을하고 있습니다. 이것은 30 초마다 실행됩니다. 이 잘 작동하지만 메시지가 왔을 때 좀 더 즉각적인 알림을 싶습니다. 내가 이렇게 보이는 jQuery 코드와 롱 폴링에 대한 사례를 많이보고 있어요 :롱 폴링 : 어떻게 진정합니까?
function poll()
{
$.ajax(
{
data:{"foo":"bar"},
url:"webservice.do",
success:function(msg)
{
doSomething(msg);
},
complete:poll
});
}
나는 이것이 어떻게 작동하는지 이해하지만, 이것은 단지 반복적으로 즉시 서버로 요청을 보내는 유지합니다. 서버에 뭔가가 변경 될 때까지 보류 될 논리가 있어야한다고 생각합니다. 그렇지 않으면보고 할 것이 전혀 없더라도 즉시 응답이 다시 전송됩니다. 순전히 자바 스크립트에서 처리되었거나 서버 측에서 구현되는 것을 놓친 것입니까? 서버에서 처리되는 경우 실제로 서버 실행을 일시 중지하는 것이 좋습니다. 모든 경험에서 이것을 처리하는 더 좋은 방법은 무엇입니까? 내 setTimeout() 메서드로 충분합니까?
나는 웹 소켓에 대해 알고 있지만 아직 광범위하게 지원되지는 않기 때문에 현재의 기술을 고수하고 싶습니다. 당신이 setTimeout
했던 것처럼
를 사용하여 클라이언트 측
이 일시 정지 시간을 관리 할 수
감사합니다. 프레임 워크와 관련없는 일반적인 개념에 대한 좋은 토론을 찾고 있었고 모두 훌륭한 피드백을 제공했습니다. 이렇게 나에게 들리는 것은 추가 된 트래픽이 더 빠른 응답을 할만한 가치가 있는지 여부를 측정하는 것입니다. 필자의 경우 setTimeout이 최상의 절충안 인 것처럼 보입니다. – AceCorban