使用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