danjohnson95 / php-socket-emitter
此包的最新版本(dev-master)没有提供许可信息。
高效地通过TCP套接字发送数据
dev-master
2017-02-14 00:46 UTC
This package is auto-updated.
Last update: 2024-08-29 04:48:39 UTC
README
高效地通过TCP套接字发送数据
安装
$ composer require danjohnson95/php-socket-emitter
用法
$host = "192.168.0.3"; // Where the TCP socket server is hosted
$port = 3010; // The port in which the TCP socket server is running on
$Socket = new Danj\PHPSocketEmitter\Socket($host, $port);
$Socket->send([
'any' => 'data',
'you' => 'want',
'to' => 'send',
'goes' => 'here!'
]);
我为什么需要这个?
由于PHP的异步特性,你无法在短时间内发送大量套接字。
这是因为PHP无法判断最后一个是否已经发送完成,并且你只能在最后一个被接收后才能发送另一个TCP套接字。
PHP-Socket-Emitter 会记录最后一个套接字的发送时间,并且会延迟发送更多数据,直到我们可以合理地假设最后一个已经发送。
因此,你可以这样做
foreach($BigObject as $Bit){
$Socket->send($Array);
}