2013-05-27 9 views
2

서버 측 node.js에서 인터넷 속도를 계산하는 방법 클라이언트 측에서는 쿼리 문자열에 http request을 만드는 동안 현재 시간 스탬프를 보내고 있습니다.node.js의 인터넷 속도 계산

클라이언트 측 코드

var image = document.createElement("img"); 
     image.width = 1; 
     image.height = 1; 
     image.src = url+"?"+new Date().getTime(); 

URL은 시작 시간, 종료 시간 및 요청 다운로드 할 수있는 파일 크기를 사용하여 수행 할 수 있습니다

http://localhost:8080/server?1369654461767 

Internet speed calculation

아래처럼 보인다.

그러나 위의 문제는 1x1 pixel이므로 이미지 크기를 결정할 수 없으며 순수 속도 계산을위한 별도의 1 회 끊기 요청을 원하지 않습니다.

클라이언트의 시작 시간과 요청 및 응답에있는 데이터를 사용하여 인터넷 속도를 계산하는 모든 솔루션입니다.

어떤 아이디어라도 도움이 될 것입니다.

답변

3

서버에서 인터넷 속도를 계산할 수 없습니다. 한 가지 중요한 문제는 시작 시간이 클라이언트 클럭을 기반으로하며 서버의 클록이 속도를 계산할 목적으로는 절대로 동기화되지 않는다는 것입니다.

속도를 계산하려면 클라이언트에서 동일한 시스템에서 시작 및 종료 시간을 정확하게 캡처 할 수있는 왕복이 필요합니다. 또한 1px 이미지보다 더 중요한 것을 보내야합니다. 페이로드가 작을수록 계산 정확도가 떨어집니다.

일반적으로 속도는 알려진 크기의 몇 가지 큰 응답을 요청하여 계산됩니다.