문제

누군가가 메시지를 보낼 때마다 GlobalFile이 잠겨 있고 작성되는 채팅 프로그램이 있다고 가정 해 봅시다. 수신 클라이언트에는이 구성을 사용하여 새로 업데이트 된 파일로 반환하기 위해 대기중인 XMLHTTP 요청이 있습니다.

while (!hasNewdata())
{    sleep 3;    }
print "$thenewdata";
sub hasNewData()
{
     # determine if global file has been appended to.
}

파일 크기를 클라이언트로 보내고 다음 설문 조사 요청에서 서버로 돌아가는 것은 파일 크기가 이미 클라이언트로 전송 된 것과 다른지 확인할 수 있으므로이를 수행하는 좋은 방법입니다. 새로운 데이터가 있다는 것을 알고 있습니다. 아니면 파일 오프셋을 앞뒤로 전송하는 것이 더 나은 접근 방식이 될 것이므로 파일의 새 데이터를 확인할 위치를 알 수 있습니까? 아니면 다른 방법, 글로벌 '채팅'파일을 사용하는 것 외에 다른 방법은 무엇입니까?

'새로운 데이터 사용 가능'을 결정하는 일반적인 방법은 무엇입니까?

도움이 되었습니까?

해결책

수정 된 날짜를 사용할 수 있습니다.

$last_modified = filemtime("thisfile.php");

다른 팁

파일 크기는 그렇게 나쁜 방법이 아닙니다.

브라우저는 이미 "if-modified-since"헤더를 요청하여 이미 태그를 지정할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top