打码网站怎么做,个人网站有哪些平台,超越时空网上书城网站策划书,婚庆网站开发计划书目录
背景
前景知识
1.启动一个代理服务器
2.发布者
3.订阅者
实际应用
1.模拟智驾收来自交互箱131的按钮json数据
2.模拟交互箱131收来自智驾137的cjson数据 背景
在调试防爆无轨无人矿车时#xff0c;出现消息代理不能很好转发#xff0c;于是在公司通过代理的方式…目录
背景
前景知识
1.启动一个代理服务器
2.发布者
3.订阅者
实际应用
1.模拟智驾收来自交互箱131的按钮json数据
2.模拟交互箱131收来自智驾137的cjson数据 背景
在调试防爆无轨无人矿车时出现消息代理不能很好转发于是在公司通过代理的方式模拟跨机互联收发数据报文当时记录的目的是若更新固件后若不能收发数据智驾的代码那块可参考该文章进行修改相应ip和端口
前景知识
ZeroMQZMQ是一个强大的消息传递库它提供了许多灵活的消息传递模式包括发布-订阅、请求-应答、推送-接收等。在 ZeroMQ 中您可以通过使用不同的套接字类型和模式来构建消息代理转发机制。
下面是一个简单的示例演示了如何使用 ZeroMQ 来实现一个消息代理转发机制
1.启动一个代理服务器 代理服务器会接收来自多个发布者的消息并将这些消息发送给订阅者。
import zmqcontext zmq.Context()# 代理服务器绑定到tcp://*:5555
frontend context.socket(zmq.SUB)
frontend.bind(tcp://*:5555)# 代理服务器发送到tcp://*:5556
backend context.socket(zmq.PUB)
backend.bind(tcp://*:5556)zmq.proxy(frontend, backend)
2.发布者 发布者将消息发送到代理服务器
import zmqcontext zmq.Context()
socket context.socket(zmq.PUB)
socket.connect(tcp://localhost:5555)while True:msg input(Enter message: )socket.send_string(msg)
3.订阅者 订阅者从代理服务器接收消息。
import zmqcontext zmq.Context()
socket context.socket(zmq.SUB)
socket.connect(tcp://localhost:5556)while True:msg socket.recv_string()print(Received message: , msg) 在这个示例中代理服务器充当消息的中转站让发布者和订阅者之间进行解耦。发布者将消息发送到代理服务器而订阅者从代理服务器接收消息实现了消息的转发机制。 大家可以根据具体需求和场景调整消息传递模式、套接字类型以及网络配置来构建适合您需求的消息代理转发机制。
实际应用 本次采用2块交互版子进行跨机互联模拟一块板子负责模拟智驾发数据ip为192.168.1.137以下简称智驾137另一块板子负责接收来自模拟智驾板子的数据ip为192.168.1.131以下简称交互箱131。目前均已关闭了守护进程和hmi_info。
1.模拟智驾收来自交互箱131的按钮json数据 其中Test程序写法 其中交互箱131写法 结果智驾这块收到了来自按钮的数据。 2.模拟交互箱131收来自智驾137的cjson数据 其中模拟智驾发布显示json数据的智驾137代码 其中交互箱131zmq订阅接收智驾的代码编写 结果交互箱131收到了来自智驾137的数据 最终显示效果如下