天天看點

OpenDDS典型idl舉例(自定義)

        使用idl檔案,定義資料幀、檔案幀、資料和檔案一體幀(支援多個消息+多個檔案)。在實際業務開發時,可以根據需要進行擴充。

1、資料幀idl

完整資料幀(不分幀,最大不超過2G)

module DataFrame
{
    typedef sequence<octet> OctetSeq;
    #pragma DCPS_DATA_TYPE "DataFrame::BigData"
    struct BigData
    {
        string srcNode;                        //源節點
        string msgId;                            //消息唯一Id
        unsigned long length;
        OctetSeq content;

        unsigned long seq;						//序列号<99999999,到達後從心開始
        
        unsigned long beginTime;			    //消息的發送時間
    };
};
           

2、檔案idl

完整檔案幀()

module FileFrame
{
	typedef sequence<octet> OctetSeq;

	typedef struct struct_file{
		string name; 			//檔案名
		string desc; 			//檔案描述
		string ext; 			//檔案擴充名
		OctetSeq content; 		//檔案内容,二進制方式
        string createTime;
	}FILE;

	typedef sequen
           

繼續閱讀