간단한 긴 폴링 구현
많은 리소스에서 긴 폴링의 개념을 설명하지만 실제 구현 예는 아직 파악하기 어렵습니다. 복잡한 프레임워크나 서버 구성에 의존하지 않고 단순화된 버전을 살펴보겠습니다.
서버 통신에 Apache와 PHP 사용
서버 요청을 처리하려면 Apache가 적합합니다. 아래 PHP 스크립트는 무작위 간격 후에 무작위 문자열을 보내 실시간 메시지 도착을 시뮬레이션합니다. 가끔 시연 목적으로 오류를 반환하는 경우가 있습니다.
<?php if (rand(1, 3) == 1) { header("HTTP/1.0 404 Not Found"); die(); } sleep(rand(2, 10)); echo("Hi! Have a random number: " . rand(1, 10)); ?>
Long Polling용 JavaScript 클라이언트
JavaScript에서 Long Poller는 지속적으로 위 스크립트를 요청하고 대기합니다. 응답:
<script type="text/javascript"> function waitForMsg() { $.ajax({ type: "GET", url: "msgsrv.php", success: function(data) { // Display the message $("#messages").append("<div class='msg new'>" + data + "</div>"); // Recursively invoke waitForMsg setTimeout(waitForMsg, 1000); }, error: function() { // Display the error message and restart the process after 15 seconds $("#messages").append("<div class='msg error'>Error encountered</div>"); setTimeout(waitForMsg, 15000); } }); } $(document).ready(function() { waitForMsg(); }); </script>
이 스크립트는 지속적으로 서버 업데이트를 확인하고 들어오는 메시지를 표시합니다. 오류 처리 기능이 통합되어 있으며 긴 폴러는 지정된 시간 초과 기간 후에 다시 연결을 시도합니다.
장기 폴링의 장점
장기 폴링은 여러 가지 이점을 제공합니다.
위 내용은 Apache와 PHP를 사용하여 간단한 장기 폴링을 구현하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!