karpy47 / php-mqtt-client
支持TLS的PHP MQTT 3.1.1库
v1.0.4
2019-07-29 13:52 UTC
This package is auto-updated.
Last update: 2024-09-19 11:55:31 UTC
README
支持TSL的PHP MQTT 3.1.1客户端
注意,所有调用都将在超时发生之前阻塞。如果您需要一些复杂的异步解决方案,您需要查找另一个仓库。
此实现与MQTT版本3.1.1兼容,适用于QOS级别0和1。QOS级别2应该可以工作,但尚未经过充分测试,属于实验性。
安装
通过composer安装此扩展是首选方法。
运行以下命令
php composer.phar require --prefer-dist karpy47/php-mqtt-client
或者在composer.json的require部分中添加以下内容
"karpy47/php-mqtt-client": "*"
:
要求
应与所有较新版本的PHP兼容。
使用PHP v7.0.27开发和在生产环境中运行(之前也使用PHP v5.6.27)
基本用法
use karpy47\PhpMqttClient\MQTTClient;
$client = new MQTTClient('mqtt-server.domain.com', 8162);
$client->setAuthentication('mqtt-server.username','mqtt-server.password');
$client->setEncryption('cacerts.pem');
$success = $client->sendConnect(12345); // set your client ID
if ($success) {
$client->sendSubscribe('topic1');
$client->sendPublish('topic2', 'Message to all subscribers of this topic');
$messages = $client->getPublishMessages(); // now read and acknowledge all messages waiting
foreach ($messages as $message) {
echo $message['topic'] .': '. $message['message'] . PHP_EOL;
// Other keys in $message array: retain (boolean), duplicate (boolean), qos (0-2), packetId (2-byte integer)
}
$client->sendDisconnect();
}
$client->close();
致谢
感谢 bluerhinos/phpMQTT 和 McFizh/libMQTT。
还要感谢
- pascalwacker 分支和修复了一些错误
- tobbexiv 找到并修复了几个错误
许可
在MIT许可下发布。有关更多信息,请参阅许可文件。