luklewluk / mylittleping
PHP的高级ping库
1.0.0
2016-10-07 09:49 UTC
This package is not auto-updated.
Last update: 2024-09-14 19:47:50 UTC
README
面向对象且完全可配置的ICMP回显请求数据包实现。
安装
composer require luklewluk/mylittleping
基本用法
使用依赖注入
// Create object instances
$config = new Config();
$connection = new Socket($config);
$ping = new Ping($connection, $config);
// Send request
echo $ping->send('google.com') . PHP_EOL;
使用静态工厂
$ping = Ping::createWithConnection(Socket::class);
echo $ping->send('google.com') . PHP_EOL;
连接实现
Socket
最先进且可定制的连接方法。
需要root
权限。
$connection = new Socket($config);
Fsockopen
不建议用于获取确切的延迟时间。此外,即使服务器未响应,它也可以返回响应时间。
此方法不支持自定义参数。
$connection = new Fsockopen($config);
您的实现
如果您需要使用自己的连接方法(例如,“exec”方式),您可以通过编写一个实现ConnectionInterface
的新类来轻松实现。
$ping = new Ping(new YourClass(), $config);
自定义参数
可设置的可用参数列表
端口
$config->setPort(8080);
有效载荷
$config->setPayload('abcdefg');