MyLittlePing
Object oriented and full configurable implementation of ICMP echo request message., (*1)
Installation
composer require luklewluk/mylittleping
, (*2)
Basic usage
Using dependency injection:, (*3)
// Create object instances
$config = new Config();
$connection = new Socket($config);
$ping = new Ping($connection, $config);
// Send request
echo $ping->send('google.com') . PHP_EOL;
Using static factory:, (*4)
$ping = Ping::createWithConnection(Socket::class);
echo $ping->send('google.com') . PHP_EOL;
Connection implementations
Socket
The most advanced and customisable connection method., (*5)
Requires root
access., (*6)
$connection = new Socket($config);
Fsockopen
It is not recommended way to get exact latency time.
Also it can return response time even if server is not responding., (*7)
The method does not support custom parameters., (*8)
$connection = new Fsockopen($config);
Your own implementation
If you need to use your own connection method (i.e. "exec" way) you
can easily do it by writing a new class which implements ConnectionInterface
., (*9)
$ping = new Ping(new YourClass(), $config);
Custom parameters
List of available parameters to set:, (*10)
Port
$config->setPort(8080);
Payload
$config->setPayload('abcdefg');