PHPMQTT v1.4.1 版本釋出,新增協議除錯工具

沈唁發表於2021-11-06

PHPMQTT v1.4.1 版本釋出,在此版本中主要是新增了一個協議除錯工具。 提供了 5 種方法來除錯二進位制資料,實際上就是一個二進位制資料檢視工具。

主要是將二進位制資料轉為 ASCII、十六進位制的格式進行檢視,可以用來除錯 TCP、WebSocket、UDP 等。

public function hexDump(): string // 以16進位制顯示
public function hexDumpAscii(): string // 以16進位制和相應的ASCII字元顯示
public function printableText(): string // 可列印字元
public function hexStream(): string // 16進位制流
public function ascii(): string // 以ASCII字元顯示

使用

可以通過例項化Simps\MQTT\Tools\Debug或者Simps\MQTT\Tools\Common/Simps\MQTT\Tools\UnPackTool靜態呼叫:

  • 例項化
use Simps\MQTT\Tools\Debug;
$debug = new Debug('0:simps-mqtt/user001/update{
  "msg": "hello, mqtt"
}');
//$debug = (new Debug())->setEncode('0:simps-mqtt/user001/update{
//  "msg": "hello, mqtt"
//}');
echo $debug->hexDump(), PHP_EOL;
echo $debug->hexDumpAscii(), PHP_EOL;
echo $debug->printableText(), PHP_EOL;
echo $debug->hexStream(), PHP_EOL;
echo $debug->ascii();
  • 靜態呼叫
use Simps\MQTT\Tools\UnPackTool;
echo UnPackTool::hexDumpAscii('0:simps-mqtt/user001/update{
  "msg": "hello, mqtt"
}');
00000000    30 3a 73 69 6d 70 73 2d 6d 71 74 74 2f 75 73 65    0:simps-mqtt/use
00000010    72 30 30 31 2f 75 70 64 61 74 65 7b 0a 20 20 22    r001/update{.  "
00000020    6d 73 67 22 3a 20 22 68 65 6c 6c 6f 2c 20 6d 71    msg": "hello, mq
00000030    74 74 22 0a 7d                                     tt".}

在 Client 中使用

呼叫配置物件的setVerbose方法,設定需要的除錯級別即可。

更新日誌

  • 新增除錯工具 (#56)
  • 新增 mqtt 相關常量 (#58)
  • 優化 CI (#60) (#61) (#64)
  • 為 Client 新增除錯工具 (#65)

相關文章