누군가가 메시지를 보낼 때마다 글로벌 파일이 잠겨서 쓰여지는 채팅 프로그램이 있다고 가정 해 보겠습니다. 수신 클라이언트는이 구조를 사용하여 새로 업데이트 된 파일을 반환 할 기다리고 보류중인 XMLHTTP 요청이 있습니다긴 폴링 - 새 데이터가있는 시점을 확인하는 방법은 무엇입니까?
while (!hasNewdata())
{ sleep 3; }
print "$thenewdata";
sub hasNewData()
{
# determine if global file has been appended to.
}
는 다음 폴링 요청에서 서버의 뒤쪽으로 클라이언트에 파일 크기를 보내고 것인가를가 수 좋은 방법입니다. 이제 파일 크기가 클라이언트에 다시 전송 된 것과 다른지 여부를 확인할 수 있으므로 새 데이터가 있음을 알 수 있습니다. 또는 파일 오프셋을 앞뒤로 보내는 것이 더 나은 방법이 될 수 있으므로 파일에서 새 데이터를 확인할 위치를 알고 있습니까? 아니면 완전히 다른 방법, 글로벌 '채팅'파일을 사용하는 것 이외의 다른?
은 '가능한 새로운 데이터'
데이터가 변경되는 동안 파일 크기가 동일하게 유지되는 것이 가능한 경우 더 나은 방법 일 수 있습니다. –