How to ping IP addresses using JavaScript

前端 未结 7 1428
遇见更好的自我
遇见更好的自我 2020-12-03 02:20

I want to run a JavaScript code to ping 4 different IP addresses and then retrieve the packet loss and latency of these ping requests and display them on the page.

H

7条回答
  •  攒了一身酷
    2020-12-03 02:39

    You can't do this from JS. What you could do is this:

     client --AJAX-- yourserver --ICMP ping-- targetservers
    

    Make an AJAX request to your server, which will then ping the target servers for you, and return the result in the AJAX result.

    Possible caveats:

    • this tells you whether the target servers are pingable from your server, not from the user's client
      • so the client won't be able to test hosts its LAN
      • but you shouldn't let the host check hosts on the server's internal network, if any exist
      • some hosts may block traffic from certain hosts and not others
    • you need to limit the ping count per machine:
      • to avoid the AJAX request from timing out
      • some site operators can get very upset when you keep pinging their sites all the time
    • resources
      • long-running HTTP requests could run into maximum connection limit of your server, check how high it is
      • many users trying to ping at once might generate suspicious-looking traffic (all ICMP and nothing else)
    • concurrency - you may wish to pool/cache the up/down status for a few seconds at least, so that multiple clients wishing to ping the same target won't launch a flood of pings

提交回复
热议问题