2014-07-10 4 views
-1

클라이언트가 서버에 도달하는 데 걸린 요청 시간과 그 반대 시간을 가져와야합니다. 그래서 파이썬에서이 작업을 수행 할 수 있었는데, 지금은 웹 페이지에서 도움이되지 않습니다.JavaScript로 사용자에게 "ping"할 수 있습니까?

그래서 Ajax를 사용하여 완료 할 수 있다고 들었는데 사실입니까?

그렇다면 내가 시작해야 할 세부 정보 나 정보를 알려주시겠습니까?

답장을 보내 주셔서 감사합니다.

+0

문제 해결을 위해 필요한 경우 방화범 뚜껑을 사용하여 요청 시간을 확인할 수 있습니다. https://getfirebug.com/network – etr

답변

1

그러나 http를 통해 핑을 에뮬레이션 할 수는 있지만 그다지 정확하지는 않습니다. 간단한 방법은 ms 또는 ns에 현재 timespamp를 게시하고 같은 시간의 응답을 기다리는 것입니다. 응답의 실시간과 시간의 차이는 소위 왕복 시간 (RTT)입니다. 2로 나누면 ping의 응답 시간이됩니다.

+0

"현재 타임 스탬프를 게시 하시겠습니까?"라는 말은 Ajax를 사용하여 수행 할 수있는 것입니까? – user2634624

+0

클라이언트 측에서는 클라이언트의 시간을 알고 있습니다. 모든 클럭이 동기화되지 않는 한 클라이언트의 시간 만 사용해야합니다. – rekire

+0

로딩 시간을 어떻게 알 수 있습니까? – user2634624

0

최신 브라우저에서는 navigation timing API (HTML5 rocks article on navigation timing)을 사용하여 페이지를로드하는 데 걸리는 시간을 세분화 할 수 있습니다. "performance.timing"에서 관련 필드를 빼기 만하면 관심있는 타이밍을 얻을 수 있습니다. (secureConnectionStart - connectStart) 또는 (connectEnd - connectStart)은 연결이 SSL 연결인지 여부에 따라 핑 시간의 합리적인 근사치처럼 보입니다 (단, rekire @ points를 사용하면 최종 사용자를위한 웹 사이트의 전반적인 사용자가 볼 수있는 대기 시간을 측정하려는 경우 그 이상을 포함하는 것이 좋습니다.

+0

이 언어를 프로그래밍 할 수있는 언어는 무엇입니까? 아약스? Html5? – user2634624

+0

@ user2634624 이것은 자바 스크립트 API입니다. Ajax는 프로그래밍 언어가 아닌 특별한 기술입니다 (일반적으로 JavaScript를 언급하지만 Dart와 같은 JavaScript로 컴파일되는 클라이언트 측 언어에도 적용됩니다). HTML5는 다소 불투명 한 용어이며 가장 느슨한 의미에서 HTML, JavaScript 및 CSS의 다양한 기능을 포함합니다. 그러나 Ajax는 HTML5보다 선행합니다. –

0

참고로 아약스 핑은 다음과 같이 작동합니다. 불행히도 도메인 정책에 의해 차단되고 성공을 거둘 수는 없습니다.

function ping(){ 
    $.ajax({ 
     url: 'http://website.com', 
     success: function(result){ 
     alert('replied'); 
     },  
     error: function(result){ 
      alert('error'); 
     } 
    }); 

겉으로보기에 성공적인 구현 방법의 예로는 this code을 참조하십시오.

+0

코드가 작동하지 않습니다. "ko"가 정의되지 않았다고합니다. – user2634624

관련 문제