long polling 예제

짧은 폴링 및 SSE는 웹 사이트에 사용하기에 좋지 않습니다. 긴 폴링 또는 웹 소켓을 사용할 수 있습니다. 긴 폴링은 대부분의 웹 브라우저에서 지원되지만 웹 소켓은 이전 브라우저를 지원하지 않습니다. 그러나 긴 폴링에는 웹 소켓보다 CPU 용량이 더 많이 필요합니다. 페이스 북 등과 같은 많은 웹 사이트는 긴 폴링을 사용합니다. PHP를 사용하여 긴 폴링 스크립트를 만드는 방법을 보여 줄 것입니다. 끝에 있는 예제에서는 고급 긴 폴링을 설명합니다. AJAX 롱 폴링은 배울 흥미로운 주제이지만 무제한 호스팅 리소스가 없는 한 프로덕션 웹 사이트에서 사용하지 마십시오. 클라이언트로부터 메시지를 받은 경우 연결된 모든 클라이언트에 해당 메시지를 보내는 것이 저희의 임무입니다. 서버에 연결된 각 클라이언트는 메시지에 대한 /sub 끝점을 폴링합니다. /sub의 간단한 구현은 다음과 같이 보일 수 있습니다 : 첫째, 클라이언트 측 파일인 index.html을 만듭니다.

Ajax 요청 처리기인 long polling.php에 아약스 요청을 보냅니다. 파니크/php-long 폴링에서 새 릴리스에 대한 알림을 원하십니까? 테스트하려면 클라이언트/client.js의 URL을 server.php 파일의 위치로 변경하기만 하면 로컬 테스트 URL인 `http://127.0.0.1/php-long-polling/server/server.php`이 작업을 수행합니다. client/index.html 열어 클라이언트를 시뮬레이션합니다. 서버에서 새 정보를 얻는 가장 간단한 방법은 폴링입니다. 이 지퍼에는 위의 두 가지 예가 모두 있습니다. 두 번째 예제를 사용하려면 먼저 .sql 파일을 MYSQL 데이터베이스로 가져온 다음 호스트 이름, 사용자 이름, 암호 및 데이터베이스로 config.php를 변경합니다. GitHub의 pubsub_example 리포지토리에는 이 문서에서 설명하는 아이디어를 구현하는 완전한 프로젝트가 있습니다. 이 프로젝트는 직접 시도하려는 경우 OpenShift에 직접 배포할 수 있습니다. 당신은 또한 http://pubsub.example.oddbit.com/ 온라인으로 그것을 밖으로 시도 할 수 있습니다.

AJAX (jQuery) 및 PHP로 긴 폴링의 매우 간단한 데모. 긴 폴링은 거의 “실시간” 응용 프로그램을 가능하게 합니다. 클라이언트는 X초/분마다 새 데이터를 요청하지 않으며, 새 데이터(푸시 알림 스타일)가 있을 때 클라이언트가 새 데이터를 배달받습니다. 이것은 https://github.com/lincolnbrito/php-ajax-long-polling 개선, 청소 및 문서화 된 포크입니다! 큰 감사, 사람. 필요한 경우 JSONP를 통해 긴 폴링을 구현할 수 있습니다. 즉, 자원 소비의 비효율성은 말할 것도 없고 이러한 접근 방식을 구현하는 데 관여하는 시간과 노력을 감안할 때, 새로운 응용 프로그램 및 시스템을 개발할 때 지원이 추가 비용의 가치가 있는지 여부를 평가하기 위해 주의를 기울여야 합니다. 아키텍처. 대부분의 경우 WebSocket과 같이 보다 현대적인 것에 대한 독점적인 지원을 피할 수 있습니다. 또는 이러한 종류의 우려 사항 관리를 Ly Realtime과 같은 전문 클라우드 공급자에게 오프로드할 수 있습니다. 이 문서의 현재 시간(2018년)에서는 WebSocket및 WebRTC와 같은 실시간 통신 표준이 광범위하게 사용할 수 있다는 점을 감안할 때 긴 폴링은 웹 응용 프로그램 개발과 관련이 적을 수 있습니다.