跨平台互联
分类:C++
技术栈
- 起源平台(Linux)和XSIM平台(Windows)之间通过boost::udp进行通信* XSIM采用分布式运行框架,通过RSF代理服务方式运行
工作流程
- 通过起源模型的初始化入口函数向Windows平台发送udp数据包;
- RSF代理服务接收Linux数据包解析成功后初始化XSIM分布式实例的模型数据;
- XSIM运行控制服务接收起源平台的步长推进数据后控制XSIM实例单步执行;
- XSIM接受大搜事件指令后调度XSIM数据交互服务控制XSIM模型执行相应指令;
- 起源模型通过回调函数向XSIM请求运行信息,代理服务接收之后通过XSIM数据交互服务获取XSIM实例的运行状态并返回。
使用方式
Windows平台
- 配置XSIMSDK;
- 启动
注册中心.bat
; - 启动
运行控制服务.bat
; - 启动
HRXsimEngineRunningControllerd.exe
(自动启动XSIM分布式实例);
Linux平台
- 将起源模型
*.so
和配置文件*.h
发布至模型目录; - 启动模型调度服务
SimuModelDispath.service
加载模型; - 起源web态势显示加载场景,并开始仿真推演。
运行结果
- 起源平台能控制XSIM平台同步进行仿真推演;
- 起源平台能发送控制指令控制XSIM模型;
- 起源平台能同步回调XSIM平台仿真运行数据。
TODO: 起源平台模型调度框架未设计时间同步功能,导致起源平台未等待XSIM平台运行返回数据后就继续进行仿真推演,从而未实现严格意义的时间同步。
如果有收获,可以请我喝杯咖啡!