Also, it is my understanding that ping uses ICMP, which is part of the low-level IP protocol, not UDP or TCP in which “ports” are established. Thus you are simply pinging the address, not “port 80.”
ping is capable of “multi-casting,” but this would not apply if you have a large series of remote servers that you individually want to ping. That would require an approach such as the one BrowserUK suggests.
Now, BrowserUK, since there isn’t any sort of “connection” being established here, is it ever possible for the returning ping-packets to be dropped as they pile-up waiting to be received? Would there be any advantage ... or is it possible? ... to send out the pings with one thread, and wait for the replies with another?