>백엔드 개발 >PHP 튜토리얼 >Apache 및 JavaScript를 사용하여 기본 긴 폴링을 구현하는 방법은 무엇입니까?

Apache 및 JavaScript를 사용하여 기본 긴 폴링을 구현하는 방법은 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2024-12-30 12:16:13901검색

How to Implement Basic Long Polling Using Apache and JavaScript?

기본 장기 폴링 구현 달성

장기 폴링은 장기간 연결을 유지하여 서버 업데이트가 가능해지면 즉각적인 응답을 촉진하는 폴링 기술입니다. 구현은 매우 간단할 수 있습니다.

요청 처리기로서의 Apache

Apache를 사용하여 요청을 처리하려면 msgsrv.php와 같은 PHP 스크립트를 생성하십시오. 다음은 간단한 예입니다.

// Simulate data availability after a random delay
sleep(rand(2, 10));
echo("Hi! Here's a random number: " . rand(1, 10));

Apache에서 이 스크립트를 실행하세요. Apache와 같은 대용량 웹 서버를 사용하면 작업자 스레드가 소진될 수 있습니다.

JavaScript 스크립트 사용

JavaScript에서는 long_poller.htm과 같은 스크립트를 사용하여 폴링 요청을 시작할 수 있습니다.

<script>
  function waitForMsg() {
    $.ajax({
      type: "GET",
      url: "msgsrv.php",

      async: true,
      cache: false,
      timeout: 50000,

      success: function(data) {
        // Append the response to a div
        addmsg("new", data);
        // Continue polling after 1 second
        setTimeout(waitForMsg, 1000);
      },
      error: function(..., errorThrown) {
        // Append error to div
        addmsg("error", textStatus + " (" + errorThrown + ")");
        // Retry after 15 seconds
        setTimeout(waitForMsg, 15000);
      }
    });
  }

  $(document).ready(function() {
    waitForMsg(); // Start the initial request
  });
</script>

이 스크립트는 msgsrv.php에 지속적으로 요청을 보내 응답을 div에 표시합니다. 과도한 요청을 방지하기 위해 간단한 속도 제한기를 사용합니다.

장기 폴링의 이점

장기 폴링은 탄력성과 단순성을 제공합니다. 네트워크 중단이 발생하면 클라이언트가 자동으로 재시도합니다. 인스턴트 메시징이나 채팅 애플리케이션과 같이 서버에서 즉각적인 업데이트가 필요한 애플리케이션에 적합한 선택입니다.

위 내용은 Apache 및 JavaScript를 사용하여 기본 긴 폴링을 구현하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.