列车实时数据通信协议(TRDP)探索之路【二】

本文深入剖析了TRDP协议1.4.0.0版本的源码结构,包括核心功能模块、操作系统接口、测试代码及wireshark抓包插件。通过示例代码展示了通用流程,从初始化到会话建立再到数据订阅与发布,最后强调了协议的灵活性和扩展性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在【一】中已经对TRDP协议有了基本的了解,现在开始进行源码的深入了解。

我checkout的是1.4.0.0的发布版,通过目录可以基本先了解大致结构。

源码位于src目录下,/api提供了基本对外的API接口,/common包含了协议处理的核心代码,/vos包含了与操作系统对接的代码,支持了linux、VxWorks、Windows,操作系统接口大致为socket网络通信处理、内存管理以及任务调度。

/test 、/example 目录下主要是测试代码,/spy目录下是wireshark的抓包工具的插件,可以针对trdp报文进行解析,

/bld是存放编译代码生成的目标文件,linux下可以在/linux-rel目录里执行测试的.exe文件。

TRDP协议代码的函数也是具有较高的辨识度,tlc表示处理通用接口,tlm表示处理MD数据接口,tlp表示处理PD数据接口。

分析/example目录示例代码,trdp通用流程大致为:start->tlc_init->tlc_openSession->tlp_subscribe/tlp_publish->while(tlc_process)->end.

TRDP还有很多的扩展功能,因此协议可以根据业务的需求,编写适合不同场景的代码。

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值