2016-09-20 1 views
1

this page에서 서버 보낸 이벤트에 대한 내용을 읽는 동안 이벤트 타이밍에 대해 혼란스러워했습니다. 기본적으로, example shown는 웹 페이지에 시스템 시간을 보내는 PHP 스크립트를 가지고 페이지가 수신하고 렌더링서버 보낸 이벤트가 3-4 초 후에 수신되었습니다.

<?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(); 
?> 

동안 :

if(typeof(EventSource) !== "undefined") { 
    var source = new EventSource("demo_sse.php"); 
    source.onmessage = function(event) { 
     document.getElementById("result").innerHTML += event.data + "<br>"; 
    }; 
} else { 
    document.getElementById("result").innerHTML = "Sorry, your browser does not support server-sent events..."; 
} 

내 혼란은 서버가 메시지를 보내는 것 같다이다 3 ~ 4 초마다 :

The server time is: Tue, 20 Sep 2016 11:55:12 -0400 
The server time is: Tue, 20 Sep 2016 11:55:16 -0400 
The server time is: Tue, 20 Sep 2016 11:55:20 -0400 
The server time is: Tue, 20 Sep 2016 11:55:23 -0400 
The server time is: Tue, 20 Sep 2016 11:55:28 -0400 
The server time is: Tue, 20 Sep 2016 11:55:32 -0400 
The server time is: Tue, 20 Sep 2016 11:55:35 -0400 
The server time is: Tue, 20 Sep 2016 11:55:39 -0400 
The server time is: Tue, 20 Sep 2016 11:55:43 -0400 
The server time is: Tue, 20 Sep 2016 11:55:46 -0400 
The server time is: Tue, 20 Sep 2016 11:55:50 -0400 
The server time is: Tue, 20 Sep 2016 11:55:53 -0400 
The server time is: Tue, 20 Sep 2016 11:55:57 -0400 
The server time is: Tue, 20 Sep 2016 11:56:01 -0400 
The server time is: Tue, 20 Sep 2016 11:56:04 -0400 
The server time is: Tue, 20 Sep 2016 11:56:08 -0400 
The server time is: Tue, 20 Sep 2016 11:56:12 -0400 
The server time is: Tue, 20 Sep 2016 11:56:15 -0400 

그러나이 지연은 서버 쪽이나 클라이언트 쪽에서 보지 못합니다. 웹 사이트의 서버와 브라우저 사이의 네트워크 지연입니까? 아니면 다른 것입니까?

답변

2

기본 재시도는 http://www.html5rocks.com/en/tutorials/eventsource/basics/ 에 표시된 것과 같이 3 초입니다. 해당 링크의 "재 연결 시간 초과 제어 섹션"을 확인하십시오. 회선 재시도 횟수 : 100 을 전송하여 재시도 간격을 100ms로 제한하여 사용자 정의 할 수 있습니다.

관련 문제