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');