oliverlorenz / php-mqtt-client
PHP的MQTT客户端库
0.5
2018-11-07 16:43 UTC
Requires
- react/socket: ^1.1
Requires (Dev)
- phpunit/phpunit: ^5.0.0
This package is not auto-updated.
Last update: 2024-09-23 06:47:09 UTC
README
phpMqttClient 是一个PHP的MQTT客户端库。它基于reactPHP的socket-client,并添加了MQTT协议特定的功能。希望它能成为现有PHP MQTT库的一个更好的起点。
目标
本项目的目标是提供一个易于使用的PHP MQTT客户端,该客户端在现代架构中无需使用任何PHP模块。目前,仅实现了协议版本4(MQTT 3.1.1)。
示例发布
$config = require 'config.php'; $connector = ClientFactory::createClient(new Version4()); $p = $connector->create($config['server'], $config['port'], $config['options']); $p->then(function(Stream $stream) use ($connector) { return $connector->publish($stream, 'a/b', 'example message'); }); $connector->getLoop()->run();
示例订阅
$config = require 'config.php'; $connector = ClientFactory::createClient(new Version4()); $p = $connector->create($config['server'], $config['port'], $config['options']); $p->then(function(\React\Stream\Stream $stream) use ($connector) { $stream->on(Publish::EVENT, function(Publish $message) { print_r($message); }); $connector->subscribe($stream, 'a/b', 0); $connector->subscribe($stream, 'a/c', 0); }); $connector->getLoop()->run();
注意 - (2015年5月12日)
这个库目前不稳定。它处于早期阶段,但我正在努力改进。如果需要更多功能,我会添加。如果您需要功能:请提供反馈或贡献以使此库运行。
当前功能
- 连接(清除会话,无其他连接标志)
- 断开连接
- 发布
- 订阅
运行测试
./vendor/bin/phpunit -c ./tests/phpunit.xml ./tests
故障排除
为什么连接到localhost:1883不工作?
答案很简单:示例中配置了DNS 8.8.8.8。您的本地服务器对它们不可见,因此您无法连接。