关于php:simpsmqtt-v111-版本发布支持-MQTT5-中的大部分-Property

36次阅读

共计 1091 个字符,预计需要花费 3 分钟才能阅读完成。

在 MQTT 5.0 协定中减少了很多属性。不同的报文类型之间,属性也会不同,一共有 27 种属性

CONNECT,CONNACK,PUBLISH,PUBACK,PUBREC,PUBREL,PUBCOMP,SUBSCRIBE,SUBACK,UNSUBSCRIBE,UNSUBACK,DISCONNECT 和 AUTH 数据包的可变报头中的最初一个字段是一组属性。在 CONNECT 数据包中,有效载荷的 Will Properties 字段中还有一组可选的 Properties


上个版本中也反对了几个属性,不过有些缺点,代码中存在大量的 if else,造成了太多的反复代码

因为具备不同标识符的属性的程序没有意义,所以此版本进行了重构,除了 AUTHENTICATION_DATA(0x16)CORRELATION_DATA(0x09)以外,反对了 25 种属性,也缩小了相干代码量

在一些理论的场景中,还须要通过后盾来给客户端公布音讯,想要间接在 fpm 中给客户端 publish 音讯的话,间接应用协程客户端是不可能的,所以在此版本中还减少了同步阻塞的客户端,用于在 fpm 中公布音讯

use Simps\MQTT\Client;

/**
 * Support publish in fpm, need to specify clientType as Client::SYNC_CLIENT_TYPE
 */
$client = new Client(getTestConnectConfig(), SWOOLE_MQTT_CONFIG, SWOOLE_SOCK_TCP, Client::SYNC_CLIENT_TYPE);
$client->connect();
$response = $client->publish('simps-mqtt/user001/update', '{"time":' . time() . '}', 1);
var_dump($response);

上面是残缺的更新日志

加强性能

  • 反对了在 fpm 中公布音讯 (#13)
  • 反对了更多的属性 (#15)
  • 增加了 ProtocolInterface (0e7c353)
  • 优化反复代码 (#12)

修复

  • 修复 SOCKET_ECONNRESET (#6)

对于 simps/mqtt

实用于 PHP 的 MQTT 协定解析和协程客户端,第一个反对 MQTT v5.0 协定的 PHP library。

同时反对 MQTT 协定 3.1、3.1.1 和 5.0 版本,反对 QoS 0、QoS 1、QoS 2。

GitHub:https://github.com/simps/mqtt ???? 点 Star 反对咱们

文档:https://mqtt.simps.io

Simps 交换群: 983679945

正文完
 0