PHP/AJAX 채팅 클라이언트를 만들고 있습니다. 응용 프로그램은 AJAX 요청을 PHP 스크립트에 작성하여 XML 파일의 내용을 가져오고 내용에 응답합니다. 그런 다음 클라이언트는 XML을 구문 분석하고 채팅을 표시합니다. XML 파일에는 모든 채팅이 포함되어 있지만 서버 리소스를 절약하기 위해 모든 채팅 대신 새 채팅을 반환하는 PHP 스크립트 만 좋을 것입니다. 여기 내 XML 파일입니다PHP/AJAX Long Polling : 새로운 컨텐츠를 다시 사용할 수있게 되겠습니다.
<?xml version="1.0" encoding="ISO-8859-1"?> <chat> <message> <hour>12</hour> <minute>06</minute> <half>AM</half> <day>Saturday</day> <month>March</month> <date>19th</date> <body>Hey Guys!</body> </message> <message> <hour>12</hour> <minute>08</minute> <half>AM</half> <day>Saturday</day> <month>March</month> <date>19th</date> <body>How are you?</body> </message> <message> <hour>3</hour> <minute>28</minute> <half>PM</half> <day>Saturday</day> <month>March</month> <date>19th</date> <body>Good, thanks!</body> </message> </chat>
<message>
태그는 각각의 새로운 채팅, 태그 <hour>
, <minute>
, <half>
, <day>
, <month>
을 정의하고 <date>
각 채팅이 전송 된 시간을 정의하고, <body>
각 채팅을 포함 . 클라이언트가 최신 채팅의를 보낼 필요는 AJAX 요청에 <number>12</number>
- 각 채팅이 무엇인지 번호를 알려주는 XML 파일에 태그를 추가 :
이
내가 생각 한 솔루션입니다 숫자를 PHP 스크립트에 보내서 최신인지 확인한 다음 PHP가<number>
태그의 XML 파일을 계속 확인하여 그보다 큰 숫자가있는 경우 채팅을 반환합니다.
이 방법이 얼마나 효과가 있을지 모르겠지만 더 좋은 방법은 없을까요? 다시, 나는 PHP 스크립트가 올 때 새로운 채팅을 원한다. 누군가 나를 도울 수 있을까? 아니면 뭔가를 할 수있는 방향으로 나를 가리켜 주시겠습니까? 감사!
특정 타임 스탬프를 지나서 데이터 만 수신하도록 XML을 쿼리 할 수 있다면 좋을 것입니다. http://domain.com/chat.xml?id=1&time=7123612376 – Prisoner