在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
开源软件名称:swoole_mqtt开源软件地址:https://gitee.com/try-to/swoole_mqtt开源软件介绍:MQTT一个基于swoole的异步mqtt 客户端库,可用于接收或者发送mqtt协议的消息。支持QoS 0、QoS 1、QoS 2。支持MQTT 3.1和3.1.1版本. 安装composer require try-to/swoole_mqtt Examplesubscribe.php <?phpuse TrytoMqtt\Client;require_once __DIR__ . '/vendor/autoload.php';$options = [ 'clean_session' => false, 'client_id' => 'demo-subscribe-123456', 'username' => '', 'password' => '',];$mqtt = new Client('127.0.0.1', 1883, $options);$mqtt->onConnect = function ($mqtt) { $mqtt->subscribe('/World');};$mqtt->onMessage = function ($topic, $content) { var_dump($topic, $content);};$mqtt->onError = function ($exception) use ($mqtt) { echo "error\n"; // $mqtt->reconnect(1000);};$mqtt->onClose = function () { echo "close\n";};$mqtt->connect(); 命令行运行 publish.php <?phpuse TrytoMqtt\Client;require_once __DIR__ . '/../vendor/autoload.php';$options = [ 'clean_session' => false, 'client_id' => 'demo-publish-123456', 'username' => '', 'password' => '',];$mqtt = new Client('127.0.0.1', 1883, $options);$mqtt->onConnect = function ($mqtt) { $mqtt->publish('/World', 'hello swoole mqtt');};$mqtt->onError = function ($exception) { echo "error\n";};$mqtt->onClose = function () { echo "close\n";};$mqtt->connect(); 命令行运行 接口
__construct (string $host, int $port, [array $options])创建一个mqtt客户端实例.
connect()连接服务 reconnect()重新连接服务 publish(String $topic, String $content, [array $options], [callable $callback])向某个主题发布一条消息
subscribe(mixed $topic, [array $options], [callable $callback])订阅一个主题或者多个主题
unsubscribe(mixed $topic, [callable $callback])取消订阅
disconnect()正常断开与Broker的连接, DISCONNECT报文会被发送到Broker. close()强制断开与Broker的连接,不会发送DISCONNECT报文给Broker. callback onConnect(Client $mqtt)当与Broker连接建立完毕后触发。这时候已经收到了Broker的CONNACK 报文 callback onMessage(String $topic, String $content, Client $mqtt)
当客户端收到Publish报文时触发
callback onError(\Exception $exception)当连接发生某种错误时触发. callback onClose()当连接关闭时触发,无论是客户端主动关闭还是服务端关闭都会触发onClose. 参考项目 |
请发表评论