mira el título
idk cómo hacer específicamente, un ping en javascript,
pero hice este pequeño fragmento que regresa
async function getResponseTimeOnce(){ var times = {}; times.beforeRequest = Date.now(); await fetch("https://randobytes.yimmee.repl.co/ping").then((serverReceive)=>{ serverReceive.json().then((serverReceive)=>{ times.serverReceive = serverReceive; }); times.afterRequest = Date.now(); }); return times; }todo lo que pregunto es qué valores se supone que debo restar para obtener el tiempo de ping.
En los programas de ping estándar, la medida de latencia es siempre el tiempo de ida y vuelta (RTT). Debe restar beforeRequest de afterRequest para obtener la diferencia.
Fuente: https://developer.mozilla.org/en-US/docs/Glossary/Round_Trip_Time_(RTT)
$ ping example.com PING example.com (216.58.194.174): 56 data bytes 64 bytes from 216.58.194.174: icmp_seq=0 ttl=55 time=25.050 ms 64 bytes from 216.58.194.174: icmp_seq=1 ttl=55 time=23.781 ms 64 bytes from 216.58.194.174: icmp_seq=2 ttl=55 time=24.287 ms 64 bytes from 216.58.194.174: icmp_seq=3 ttl=55 time=34.904 ms 64 bytes from 216.58.194.174: icmp_seq=4 ttl=55 time=26.119 ms --- google.com ping statistics --- 5 packets transmitted, 5 packets received, 0.0% packet loss round-trip min/avg/max/stddev = 23.781/26.828/34.904/4.114 msPara esta aplicación en particular, también puede considerar usar la API de rendimiento para obtener una marca de tiempo de alta resolución.
Ping utiliza RTD/RTT (retraso/tiempo de ida y vuelta) . El RTD debe calcularse desde el momento en que envió la solicitud hasta el momento en que recibió la respuesta .