If you want to pass the Client in the task, please wrap it with Arc: Arc<Client>. and can realize the simultaneous ping of multiple addresses when only one socket is created.

Config is the packaging of various configurations of sockets. If you want to make some set_socket_opt and other modifications, please define and implement them in Config.

Packet structure returned by ICMPv4.

Packet structure returned by ICMPv6.

A Ping struct represents the state of one particular ping instance.


Represents the ICMP reply packet.

An error resulting from a ping option-setting or send/receive operation.


Shortcut method to ping address. NOTE: This function creates a new internal Client on each call, and so should not be used if making many target. Create a Client instead.