실시간 효과를주기 위해 ajax를 통해 서버에서 데이터를 요청하는 매우 쉽고 게으른 방법을 구현했습니다.긴 폴링에서 클라이언트가 요청하지 않고 서버가 데이터를 어떻게 반환합니까?
하지만 나는 긴 폴링/혜성 기법을 사용하기를 원합니다. 클라이언트가 없어도 끊임없이 당기는 대신 서버가 데이터를 푸시하도록 권장합니다.
폴링과 혜성의 길을 완전히 이해합니다. 그러나 클라이언트에게 데이터가있을 때 서버가 푸시하는 코딩 부분을보고 싶습니다.
오래 전 (긴 폴링) 클라이언트가 요청한 데이터가있을 때 서버가이를 밀어 낼 수 있습니까? 나는이 부분을 이해하지 못한다. 누군가 제발 코딩에 보여줄 수 있습니까?
현재 간격의 새 데이터에 대해 ajax를 통해 확인합니다. 이제는 클라이언트가 요청하지 않고 데이터가있을 때 서버가 자동으로 리턴하는 긴 폴링을 구현하기 위해 어떻게 이것을 수정할 수 있습니까?
(function notify(){
$.each(id, function(k, v){
jQuery.ajax({
method: "POST",
url: "/notification.php",
"data": v,
error: function() {
reject('error');
},
success: function(result) {
console.log(result.data);
}
});
})
setTimeout(function(){
notify();
}, 1000);
})()
중복으로 표시된이 질문 이후 :
나는 완전히 롱 폴링과 혜성의 개념을 이해했다. 여기서 개념을 이해하는 것이 아니라 개념을 실제로 구현하는 코드에 대해 설명합니다.
가능한 복제 [무엇입니까 롱 폴링, WebSocket을, 서버 전송 이벤트 (SSE)와 혜성?] (http://stackoverflow.com/questions/11077857/what-are-long-polling-websockets-server-sent-events-sse-and-comet) –
기본적으로 서버는 데이터를 사용할 수있을 때까지 응답하지 않습니다. BTW, 보통의 PHP는 실제로 이것을 위해 설계되지 않았습니다. 실제로 확장 성이 없기 때문에 모든 리소스를 빠르게 사용하게됩니다. –
@ AlexanderO'Mara, 제 서버가 php5 이상을 사용하는지 확인하겠습니다. 그러나 서버가 어떻게 반응합니까? 의사 코드를 표시 할 수 있습니까? – 112233