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/phpMQTTMcFizh/libMQTT

还要感谢

许可

在MIT许可下发布。有关更多信息,请参阅许可文件