일부 아약스가 많은 사이트 (내가 만든 사이트가 아닌 방문한 사이트)에는 특정 자동 새로 고침 기능이 있습니다. 예를 들어, Gmail에서 새 메시지를 받으면 페이지를 새로 고치지 않고 새 메시지를 볼 수 있습니다. Facebook 브라우저 기반 IM 클라이언트와 동일합니다. 내가 말할 수있는 것부터, 서버 브라우저 바인딩을 처리하는 자바 애플릿이 없기 때문에 AJAX에서 처리 중이며 일부 요소는 인식하지 못한다고 가정합니다. 왜 일부를 설명 할 수있는 (사용할 수있는 업데이트를 확인,역방향 AJAX? 스크립트에 데이터 변경 사항을 '푸시'할 수 있습니까?
자바 스크립트는 서버 측 스크립트에 지속적으로 "핑 (ping)"을 수행합니다 그래서 내 추측에 의해, 그것은 두 가지 방법으로 이루어집니다 이 페이지 중 다른 페이지는 크롤링 할 수 있습니다). 또는
javascript는 idly by sely이고 서버 측 스크립트는 실제로 브라우저에 모든 업데이트를 "푸시 (push)"합니다. 그러나 이것이 가능한지 확실하지 않습니다. 아직 핑 (ping)하는 AJAX 기능이 있다고 생각 하겠지만, 단순히 "모든 업데이트"를 묻는 것뿐입니다. 서버 스크립트에는 "아니요 (nope)"또는 "당신이 물어서 다행입니다."라고 말하는 간단한 부울이 있습니다. 그러나이 경우 모든 데이터 변경은 스크립트를 직접 호출하여 데이터 변경 준비가 완료되고 해당 부울 함수를 변경해야합니다.
그래서 가능한가/실행 가능/작동 원리는 무엇입니까?
누군가가 이메일/IM/DB 업데이트를 서버로 전송하고, 서버가 스크립트의 URL과 몇 가지 관련 GET 변수를 사용하여 스크립트를 호출하면 스크립트는 변경 사항을 기록하고 "사용 가능한 업데이트"변수를 업데이트합니다. AJAX는 실제로 업데이트가 있다는 응답을받습니다. AJAX는 정상적인 업데이트 스크립트를 실행하고 브라우저에 출력하는 정상적인 "업데이트 페이지"기능을 실행합니다.
js가 a) 1.5 초마다 작업을 수행하는 서버와 b) 1.5 초마다 작업을 수행하는 브라우저가 필요하다는 사실이 비효율적으로 보이기 때문에 묻습니다. 나는 "오, 얘야, 나는 진짜 IM 클라이언트와 똑같이있어!"라고 말할 수있다.
와우, 나는 심지어 같은 catchphrases를 사용했습니다. 그건 거의 당황 스럽네.그러나 PHP에서 이것을 수행하는 방법에 대한 필자의 초기 연구는 무한 루프 스크립트를 언급합니다. 이 유형의 작업을 수행하려면 무한 루프가 라인 어딘가에서 발생해야합니까? 왜 실제로 변경된 데이터 소스 (IMAP 서버, DB, txt 파일 등)가 스크립트가 깨어나서 처리하도록 할 수 있습니까? – Anthony