Latency / Ping Test From Browser
Solution 1:
Try using XMLHTTPRequest() for javascript. The objective is to make about 10 objects and place them in an array. Then use onreadystatechange in each and every one of them. For the function inside it, use the status 1 to start the timer and status 3 to finish the timer. Use the object Date() to get the times.
That's the whole idea behind solving that. if you need more just comment my answer and I'll try to make it more complete and "spoily".
Assuming you know how to program in javascript, this is one idea for a possible solution: You first create an array where you'll insert in each position an instance of XMLHTTPRequest(). Then, you'll create a function that returns a function where: The outside function will save some sort of identification towards the "current" request, including a reference to the instance. This function is supposed to be executed right away. The inner function is supposed to be used to execute the state and know when to "start" the timer and when to "stop" the timer. Take care of opening the connect and sending the headers to all of 'em, wait to get the answer and finally register the times you got. Do some math and you get the ping.
That's the whole idea behind this. Good luck!
Solution 2:
<scripttype="text/javascript">try {
netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead");
} catch (e) {
alert("Permission UniversalBrowserRead denied.");
}
var req = newXMLHttpRequest();
req.open('GET', 'http://www.mozilla.org/', false);.
req.send();
if(req.status == 200) {
alert(req.responseText);
}
Solution 3:
Try this - I have invoked a Blank page website so that it doesnt end up calculating time to load instead serve as ping time. FYI - its still not going to be same as ping time measured by running the ping command.
functionloadXMLDoc() {
var xhttp = newXMLHttpRequest();
var ping = newDate;
xhttp.open("GET", "http://cors-anywhere.herokuapp.com/blank.org/", false);
xhttp.setRequestHeader('Cache-Control', 'no-cache');
xhttp.send();
if(xhttp.status == 200) {
ping = newDate - ping;
console.log('Ping ' + ping + 'ms');
}
}
Post a Comment for "Latency / Ping Test From Browser"