列車實時資料通訊協議 TRDP 探索之路 五

2021-09-18 04:36:21 字數 2532 閱讀 6806

時隔n久,才發現trdp中的md一直沒有更新。距離專案已經好幾個月了,大致已經忘光啦。何時能達到張無忌學習太極拳劍的地步qaq。

不過還是稍微總結一下吧 。

md大致也就是caller和replier的互動。需要做的工作便是加入監聽的comid,然後傳送call請求,剩下的便是在收包時做處理了。關於md的型別也是有好幾種,不同型別的處理流程也是不一樣的。

ext_decl trdp_err_t  tlm_addlistener (

trdp_lis_t *plistenhandle,

const void *puserref,

trdp_md_callback_t pfcbfunction,

bool8 comidlistener,

uint32 comid,

uint32 etbtopocnt,

uint32 optrntopocnt,

trdp_ip_addr_t srcipaddr1,

trdp_ip_addr_t srcipaddr2,

trdp_ip_addr_t mcdestipaddr,

trdp_flags_t pktflags,

const trdp_uri_user_t srcuri,

const trdp_uri_user_t desturi)

trdp_err_t tlm_request (

const void *puserref,

trdp_md_callback_t pfcbfunction,

trdp_uuid_t *psessionid,

uint32 comid,

uint32 etbtopocnt,

uint32 optrntopocnt,

trdp_ip_addr_t srcipaddr,

trdp_ip_addr_t destipaddr,

trdp_flags_t pktflags,

uint32 numreplies,

uint32 replytimeout,

const trdp_send_param_t *psendparam,

const uint8 *pdata,

uint32 datasize,

const trdp_uri_user_t sourceuri,

const trdp_uri_user_t desturi)

call動作呼叫的是

trdp_err_t trdp_mdcall (

const trdp_msg_t msgtype,

const void *puserref,

trdp_md_callback_t pfcbfunction,

trdp_uuid_t *psessionid,

uint32 comid,

uint32 etbtopocnt,

uint32 optrntopocnt,

trdp_ip_addr_t srcipaddr,

trdp_ip_addr_t destipaddr,

trdp_flags_t pktflags,

uint32 numexpreplies,

uint32 replytimeout,

int32 replystatus,

const trdp_send_param_t *psendparam,

const uint8 *pdata,

uint32 datasize,

const trdp_uri_user_t srcuri,

const trdp_uri_user_t desturi)

這裡面做了很多準備工作,socket etc..

replier和caller一樣,需要加入監聽comid,剩下的都是收包處理。可以在linux下用rep-repliertest試試效果。

md在實時資料傳輸中是非常重要的,ttdb的資料都是基於這個模型,整體流程沒那麼複雜,重要的是理解交換流程來滿足業務需求。

列車實時資料通訊協議 TRDP 探索之路 一

前記 最近在開發trdp協議專案,需求是在三層交換機上支援trdp協議,故踏入不斷研讀協議深入原始碼之路。編譯 windows下可以使用vs工具直接編譯相應 linux編譯 cd trdp config chmod a x mv buildsettings posix template builds...

Activity資料通訊

若要從子activity獲取返回資訊時,可呼叫以下activity方法 public void startactivityforresult intent intent,int requestcode 該方法的第乙個引數為intent,第二個引數是請求 請求碼是先傳送給子activity,然後再返回...

資料通訊基礎

通道的最高碼元傳輸速率 根據奈氏 nyquist 準則,理想碼元傳輸速率n 2w baud 其中w是理想低通訊道的頻寬,單位為hz,baud是波特,是碼元傳輸速度的單位。通道的極限資訊傳輸速率 shannon用資訊理論的理論推導出了頻寬受限且有高斯白雜訊干擾的通道的極限 無差錯的資訊傳輸速率。其中w...