matasarei/phptcp

PHP的TCP客户端

1.1 2023-12-02 20:14 UTC

This package is auto-updated.

Last update: 2024-08-31 00:35:46 UTC


README

example workflow

PHP的TCP客户端。这是一个演示库:它提供原样,没有任何保证。

基本用法

use Matasar\PhpTcp\Client;
use Matasar\PhpTcp\Request;
use Matasar\PhpTcp\Socket\StreamSocket;

$client = new Client('ip_or_hostname', 8888, new StreamSocket());
$client->connect();

$request = new Request('request');
$response = $client->request($request);
$client->disconnect();

var_dump($response->getData());

Socket接口

该库包括两个Socket接口可供使用:StreamSocketFSocket。它们之间的区别在于使用stream_socket_clientfsockopen。选择您需要的或更喜欢的,或者实现自己的类。

此外,您还可以更改阻塞设置

use Matasar\PhpTcp\Socket\FSocket;

new FSocket(0); // disable blocking.

客户端设置

use Matasar\PhpTcp\Client;
use Matasar\PhpTcp\Socket\FSocket;

$client = new Client('hostname', 1234, new FSocket());

$client->setChunkSize(8192); // read data by 8 Kb per cycle.
$client->setConnectionLag(5000); // 5 ms pause per cycle.
$client->setLogger(new SomePsrLogger()); // connect a logger for debugging.