클라이언트가 이고 클라이언트가 웹 소켓을 사용할 수 없기 때문에 Server-Sent Events
을보고있었습니다.서버가 보낸 시간 :
나는 W3School's example을 테스트 한가 작동 beautifuly.My 코드는 다음과 같습니다
Index.php는 (관련 섹션) :
<script>
var source=new EventSource("data.php");
source.onmessage=function(event)
{
document.getElementById("result").innerHTML+=event.data + "<br>";
};
</script>
Data.php :
을<?php
header('Content-Type: text/event-stream');
header('Cache-Control: no-cache');
$time = date('r');
echo "data: The server time is: {$time}\n\n";
flush();
?>
출력 결과는 다음과 같습니다.
The server time is: Wed, 24 Apr 2013 13:31:25 +0200
The server time is: Wed, 24 Apr 2013 13:31:28 +0200
The server time is: Wed, 24 Apr 2013 13:31:31 +0200
The server time is: Wed, 24 Apr 2013 13:31:34 +0200
The server time is: Wed, 24 Apr 2013 13:31:37 +0200
The server time is: Wed, 24 Apr 2013 13:31:40 +0200
The server time is: Wed, 24 Apr 2013 13:31:43 +0200
The server time is: Wed, 24 Apr 2013 13:31:46 +0200
The server time is: Wed, 24 Apr 2013 13:31:49 +0200
여기에서 time-interval
은 3 초입니다.
내 질문 : 어떻게이 시간 간격을 변경할 수 있습니까?data.php
에서 요청을 보내고 응답을 얻으려는 코드를 가지려고하지만 요청 수가 제한되어 있으므로 그 간격을 더 크게해야합니다.
심지어이 문제를 해결하는 좋은 방법입니까 아니면 polling
을 사용해야합니까?
죄송합니다. 내가 충분히 명확하지 않은 경우 문제를 설명하는 방법을 잘 모르겠습니다.
감사합니다!
https://developer.mozilla.org/en-US/docs/Server-sent_events/Using_server-sent_events이 링크가 도움이 될 수 있습니다. 또한 [w3schools는 (어떻게 든) 사용되지 않습니다.] (http://w3fools.com). – Passerby
@Passerby : 링크 주셔서 감사합니다. :) – intelis