ajax 롱폴링 예제

우리는 RESTful 웹 API를 통해 JSON 데이터를 끌어 아약스를 사용하는 방법을 설명하는 이전 블로그 게시물을 썼다 (그것을 읽을 여기를 클릭하십시오). 이것은 기본적으로 평소와 같이 처음으로 실행되는 긴 폴링 함수이지만 30 (30) 두 번째 시간 초과를 설정하고 각 Async Ajax가 서버에 호출 한 후 콜백이 Ajax를 다시 호출합니다. Pingback: 아약스 긴 폴링 요청 이해 – WebCooker 이러한 유형의 아약스 푸시 기술은 HTML5 WebSockets의 토대를 마련합니다. HTML5 WebSockets를 사용하면 응용 프로그램 개발의 진정한 서버 푸시 스타일을 볼 수 있습니다. 이것은 진정으로 응답 웹 응용 프로그램에 대 한 만들 것입니다. 이 프로세스를 사용하는 컨텍스트는 업데이트를 처리하고 최종 사용자에게 반환하는 중앙 집중식 API 서버에 지리적 위치 업데이트를 통해 Google 맵에 대한 변경 사항을 표시하는 것입니다. 이 특정 컨텍스트는 Angular Javascript 기반 프레임 워크 내에 있지만 Ajax + Javascript를 지원하는 모든 곳에서 사용할 수 있습니다. 짧은 폴링 및 SSE는 웹 사이트에 사용하기에 좋지 않습니다. 긴 폴링 또는 웹 소켓을 사용할 수 있습니다. 긴 폴링은 대부분의 웹 브라우저에서 지원되지만 웹 소켓은 이전 브라우저를 지원하지 않습니다. 그러나 긴 폴링에는 웹 소켓보다 CPU 용량이 더 많이 필요합니다.

페이스 북 등과 같은 많은 웹 사이트는 긴 폴링을 사용합니다. PHP를 사용하여 긴 폴링 스크립트를 만드는 방법을 보여 줄 것입니다. 끝에 있는 예제에서는 고급 긴 폴링을 설명합니다. WebSocket을 사용할 수 없는 경우 Socket.IO Adobe 플래시 소켓 또는 Ajax 폴링을 포함한 다음 최상의 전송을 선택합니다. 따라서 JavaScript 긴 폴링 예제를 잘 이해하는 것이 중요합니다. 이러한 감정을 다소 확장하면서 API를 반복적으로 폴링하여 데이터를 계속 가져오는 Ajax “폴링” 프로세스를 만드는 프로세스를 살펴보고자 합니다. 이렇게 하면 데이터가 변경될 때 데이터를 수신, 처리 및 조작하거나 표시할 수 있습니다. 첫째, 우리는 우리의 목표를 달성하기 위해 서버에 브라우저에서 ajax 요청을 보내야합니다. 난 당신이 자바 스크립트와 아약스를 사용하는 기본적인 지식을 가지고 있다고 가정합니다. 당신이 좋아하는 경우에, 당신은 자세한 내용을 보려면 그 주제에 내 튜토리얼을 따를 수 있습니다.

먼저 클라이언트 쪽 파일인 index.html을 만듭니다. Ajax 요청 처리기인 long polling.php에 아약스 요청을 보냅니다. 즉, 세트를 사용하여 도박간격입니다. Lag, 응답하지 않는 서버 또는 전체 네트워크 문제로 인해 할당된 시간에 호출이 반환되지 못할 수 있습니다. 이 시점에서, 당신은 반드시 같은 순서로 반환하지 않습니다 대기 Ajax 요청의 무리로 끝날 수 있습니다. 클로저 기술을 사용하여 폴링은 처음으로 자동으로 실행되는 자체 실행 JavaScript 함수가 됩니다. 30(30) 두 번째 간격을 설정합니다. 비동기 Ajax 호출을 서버에 연결합니다.

그런 다음 마지막으로 다음 설문 조사를 재귀적으로 설정합니다. 보시다시피 jQuery의 Ajax 호출은 원하는 만큼 오래 걸릴 수 있습니다. 따라서 이 패턴은 고정된 간격으로 실행을 보장하지 않습니다. 그러나 다음 간격이 호출되기 전에 이전 간격이 완료되었음을 보장합니다. 폴링은 클라이언트가 서버에 새 데이터를 정기적으로 요청하는 기술입니다. 짧은 폴링과 긴 폴링의 두 가지 방법으로 폴링을 수행할 수 있습니다. 간단히 말해서, Short polling은 AJAX 기반 타이머로 고정 지연으로 호출되지만 긴 폴링은 혜성을 기반으로 합니다(즉, 서버 이벤트가 지연 없이 발생할 때 서버가 클라이언트에 데이터를 보냅니다). 둘 다 장단점을 가지고 있으며 사용 사례를 기반으로 적합합니다.

자세한 내용은 StackOverflow 커뮤니티에서 제공한 답변을 읽어보십시오.

Comments

Comments are closed.