FA_IPC_协议网络(VRPN)数据交互三

FA :Formulas and Algorithm, IPC :Inter-Process Communication, VRPN :Virtual Realiy Peripheral Network

VRPN是专门为"虚拟现实"技术适配的网络通信协议(当然适合于进程间通信)。VRPN本身囊括了三层,他们分别为:"会话层"、"表示层"和"应用层",对于1~4层的协议是整体复用的。一般情况下的vrpn通信链路可以表示如下:

层序号 层名称 归属 实现方
7 应用层(Application Layer) vrpn自研 设备抽象、Pub/Sub业务接口
6 表示层(Presentation Layer) vrpn自研 私有二进制序列化、端序处理
5 会话层(Session Layer) vrpn自研 连接握手、会话管理、断线重连
4 传输层(Transport Layer) 复用标准 TCP/UDP
3 网路层(Network Layer) 复用标准 IP
2 链路层(Data Link Layer) 复用标准 以太网/WiFi
1 物理层(Physical Layer) 复用标准 光纤、无线电
复制代码
备注:由于更改了会话层肯定会提升相应的传输效率(稳、快、准);由于涉及的有表示层的修改内容,在数据加密编辑有相应的适配更改;由于涉及的有应用层的适配,那么数据的格式、种类也会有优化。

一、协议层的适配和优化

5 会话层(Session):VRPN 自主实现全链路会话管理

VRPN 自研会话规则,属于会话层实现:

  • 客户端先用 UDP 上报本地端口 → 服务端 TCP 回连握手、版本校验

  • 协商成功后再切换专用 UDP 端口收发实时数据

  • 自动断线重连、设备会话保活、多客户端接入管理、会话销毁

    TCP 只负责初始握手,整套连接流程是 VRPN 在会话层实现

6 表示层(Presentation):VRPN 自定义数据序列化(私有二进制格式)

  • 自研报文头:消息类型、设备 ID、时间戳、数据长度、服务等级(可靠 / 非可靠)
  • 多字节大小端统一(htonl 网络字节序)、四元数 / 坐标结构体二进制打包
  • 无 Protobuf/JSON,全私有二进制编码 = VRPN 自研表示层

7 应用层(Application):设备抽象 + 业务接口(VRPN 核心)

  • 标准化设备类型:Tracker (位姿)、Analog (模拟量)、Button (按键)、力反馈设备四大类 API
  • 发布订阅回调模型:设备上报数据、客户端注册回调接收,应用层 Pub/Sub 逻辑
  • 硬件驱动适配层:对接 Vicon/OptiTrack、数据手套、IMU 等外设,向上统一接口

对于原有的协议中,vrpn做了轻量化的处理,删除、修改了不必要的数据传递指挥、流控、校验和加密等,用于动捕场景清优化设计 。另一方面,VRPN保留了双信道机制。1、TCP信道:会话 + 可靠指令(参数配置、设备启停);2、UDP信道:表示 + 应用, 高频位姿流(100~1000Hz)动捕数据

二、VRPN通讯代码实例

相关推荐
可爱系程序猿2 分钟前
WSD 打印机时好时坏:从发现服务、地址变化到 Standard TCP/IP 端口的迁移记录
网络·网络协议·tcp/ip·程序人生·电脑
陈陈CHENCHEN29 分钟前
【Linux】服务器根目录磁盘扩容操作记录
linux·运维·服务器
星云API技术支持1 小时前
企业微信二次开发:外部群机器人如何结合会话列表、群详情与消息事件做统一管理
机器人·企业微信
蓝速科技1 小时前
便民服务大厅 AI 数字人一体机场景适配与落地指南丨蓝速科技
大数据·网络·数据结构·人工智能·自然语言处理·数据分析·运维开发
GeW2 小时前
RHCE快速拿证全攻略:考点拆解+实验强化+时间规划,一次通关
linux
SCTF_XingTong2 小时前
机器人晶振选型避坑:三大场景清单
机器人·机器人晶振选型·机器人时钟方案
YFJ_mily2 小时前
9.24早鸟通道即将关闭|IMRA2026智能制造机器人自动化IEEE会议|往届EI稳定检索,设有学生专属投稿权益
人工智能·机器学习·机器人·自动化·智能制造·rdlink研发家·马鞍山会议
济南凡维2 小时前
CODESOFT中如何将标签保存为PDF文件
网络·人工智能·打印机·codesoft
码农小韩2 小时前
Linux应用开发(八)——TCP/IP网络编程基础
linux·嵌入式软件开发·linux操作系统·嵌入式操作系统·linux网络编程·linux应用
迷途之人不知返3 小时前
【进程】-5-进程优先级
linux