v1.2 版本次要批改了 Client 的结构函数参数和 Protocol 的命名空间,以及优化重连逻辑。
Protocol
新增一层Protocol
,应用V3
和V5
来辨别 MQTT 协定等级。
同时将Simps\MQTT\Types
也挪动到了Protocol
下,批改为Simps\MQTT\Protocol\Types
。
1.1
Simps\MQTT\Protocol::pack(array $array)Simps\MQTT\ProtocolV5::pack(array $array)Simps\MQTT\ProtocolInterface::MQTT_PROTOCOL_LEVEL_3_1;Simps\MQTT\Types::CONNECT;
1.2
Simps\MQTT\Protocol\V3::pack(array $array)Simps\MQTT\Protocol\V5::pack(array $array)Simps\MQTT\Protocol\ProtocolInterface::MQTT_PROTOCOL_LEVEL_3_1;Simps\MQTT\Protocol\Types::CONNECT;
Client
Client 之前是间接传递数组参数的,当初改为对象的形式。
1.1
use Simps\MQTT\Client;$config = [ 'host' => '127.0.0.1', 'port' => 1883, 'user_name' => '', 'password' => '', 'client_id' => Client::genClientID(), 'keep_alive' => 10,];$swooleConfig = [ 'open_mqtt_protocol' => true, 'package_max_length' => 2 * 1024 * 1024, 'connect_timeout' => 1.0, 'write_timeout' => 3.0, 'read_timeout' => 0.5,];$client = new Client($config, $swooleConfig);
1.2
use Simps\MQTT\Client;use Simps\MQTT\Config\ClientConfig;$config = new ClientConfig();$config->setUserName('') ->setPassword('') ->setClientId(Client::genClientID()) ->setKeepAlive(10);$swooleConfig = [ 'open_mqtt_protocol' => true, 'package_max_length' => 2 * 1024 * 1024, 'connect_timeout' => 1.0, 'write_timeout' => 3.0, 'read_timeout' => 0.5,];$config->setSwooleConfig($swooleConfig);$client = new Client('127.0.0.1', 1883, $config);// 也能够这样设置$config = new ClientConfig([ 'userName' => '', 'password' => '', 'clientId' => '', 'keepAlive' => 10, 'protocolName' => 'MQTT', 'protocolLevel' => 4, 'properties' => [], 'delay' => 3000, // 3s 'swooleConfig' => []]);$client = new Client('127.0.0.1', 1883, $config);
更新日志
向下不兼容
- 更新命名空间 (2204df6) (28f8abe)
移除
- 不反对 PHP 7.0 (3dc5bcd)
加强
- 为所有的常量增加可见性标识符 (0176469)
- 新增 ClientConfig (d90b9dc)
- 优化 Client (9229224)
- 更新测试和示例代码 (959a21d) (08531ac)
- 减少重连次数限度和优化重连延迟时间 (#32)
对于 PHPMQTT
- MQTT 协定解析 & 协程客户端
- 实用于 PHP 的 MQTT 协定解析和协程客户端
- 反对 MQTT 协定 3.1、3.1.1 和 5.0 版本,反对 QoS 0、QoS 1、QoS 2
- 首个反对 MQTT v5.0 协定的 PHP library
文档:https://mqtt.simps.io
GitHub:https://github.com/simps/mqtt
Gitee:https://gitee.com/phpiot/mqtt
反对记得点个 Star~