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方法,设置需要的调试级别即可。
更新日志
更多相关技术内容咨询欢迎前往并持续关注六星社区了解详情。
如果你想用Python开辟副业赚钱,但不熟悉爬虫与反爬虫技术,没有接单途径,也缺乏兼职经验
关注下方微信公众号:Python编程学习圈,获取价值999元全套Python入门到进阶的学习资料以及教程,还有Python技术交流群一起交流学习哦。
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!