PHP后台对接无人售货机的RabbitMQ消息队列接口

新的项目:对接无人售货机(无人冰箱)

原以为对接的是API接口,例如这样:

PHP后台对接无人售货机的RabbitMQ消息队列接口_第1张图片

结果是对接RabbitMQ接口,是这样的:

PHP后台对接无人售货机的RabbitMQ消息队列接口_第2张图片

 

一时手足无措。

然后找了些资料:

RabbitMQ基本概念

RabbitMQ各方法详解(PHP版)

RabbitMQ之工作(Work)模式(PHP版)

php字符串与byte字节数组转化类示例

高位字节与低位字节简单介绍

详解 & 0xff 的意义及作用

使用Wireshark检查AMQP 0-9-1流量

...

学习了一些基础,与通讯服务器通讯成功了,

可是发送操作请求还是存在问题,对于发送二进制数据格式不明了。

然后对方技术发来了一份php简易例子,借鉴了一下例子:

PHP后台对接无人售货机的RabbitMQ消息队列接口_第3张图片

但还是有些地方不懂怎么操作,之前没有像这方面操作二进制/字节的经验。

后来对方发来一个数据截图:

PHP后台对接无人售货机的RabbitMQ消息队列接口_第4张图片

突然心血来潮,想起wireshark抓包可以看到这样的十六进制格式。

然后抓包、过滤:

PHP后台对接无人售货机的RabbitMQ消息队列接口_第5张图片

对比了下:

PHP后台对接无人售货机的RabbitMQ消息队列接口_第6张图片

看着发送的数据包,终于有了调整二进制数据包的思路。

最后,成功发送操作请求,并接收到通讯服务器发出的消息:

PHP后台对接无人售货机的RabbitMQ消息队列接口_第7张图片

 

Log输出收到的消息到文本,打开一看:

PHP后台对接无人售货机的RabbitMQ消息队列接口_第8张图片

乱码一串,使用带二进制功能的编辑器查看即可:

PHP后台对接无人售货机的RabbitMQ消息队列接口_第9张图片

 

 

 

 

 

 

 

你可能感兴趣的:(PHP,RabbitMQ)