通信命令分类090116Word文档下载推荐.docx
- 文档编号:14665997
- 上传时间:2022-10-23
- 格式:DOCX
- 页数:81
- 大小:43.22KB
通信命令分类090116Word文档下载推荐.docx
《通信命令分类090116Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《通信命令分类090116Word文档下载推荐.docx(81页珍藏版)》请在冰豆网上搜索。
4字节
18-21
5
消息类型
1字节
22
6
方向
1字节(1为上行)(0为下行)
23
7
下行消息目的地级别
1字节(Service程序向上报告是Service程序的级别)。
1=组;
0=点位
24
8
域
25-28
9
组ID
4字节,上行时是发起者,下行时为目的地
29-32
10
点位ID
33-36
11
指令
37
12
任务号
38-41
13
版本号
2字节
42—43
1.1.校验段CheckMsg
暂时不管
1.2.发送时间SendTime
消息发送时,发送者本地时钟。
1.3.失效时间InvalidationTime
消息发送后,如果超过“失效时间”这个时间点,就丢弃掉;
新增:
+失效时间,即到了某个时间点,该报文如果还没有发出,或者发出去,还没有收到回复;
就要失去效用,即需要丢弃;
1.4.长度Length
以字节数表示的消息的总长度,包括协议头部以及消息内容扩展。
1.5.消息类型MsgType
即命令分类,消息主要分为以下几个大类
符号名
值
备注
心跳类
M_MSGTYPE_BASE
0x01
注册类
M_MSGTYPE_REGISTER
0x02
查询类
M_MSGTYPE_QUERY
0x03
设置类
M_MSGTYPE_SET
0x04
更新类
M_MSGTYPE_UPDATE
0x05
其他类
M_MSGTYPE_OTHER
0x06
回复报文
M_MSGTYPE_ANSWER
0x07
1.6.方向Direct
主要有3个方向,定义消息方向的目的是简化路由器对消息的处理。
Ø
上行=1:
表示播放器向上级发送的消息,路由器直接向上转发。
下行=0:
表示上级节点发送给播放器的消息,路由器根据具体的消息级别进行转发。
最新定义:
消息方向
上行
M_DIRCTION_UP
下行
M_DIRECTION_DOWN
0x00
1.7.下行消息目的地级别Destination
表示接收该消息的组织。
路由器根据消息的级别和消息的域、组、节点等信息对消息进行路由。
3=目的地为:
中心服务器
2=目的地为:
域服务器
1=目的地为:
组服务器
0=目的地为:
点位(播放器)
目的地
M_DESTINATION_CENTRAL
M_DESTINATION_DOMAIN
M_DESTINATION_GROUP
M_DESTINATION_SITE
任何其他值都认为是错误的。
1.8.域DomainID、组IDGroupID、点位IDNodeID:
对于上行消息,域、组ID、点位ID表示消息的发出者的ID
如果节点是域服务器,则域<
>
0and组ID=0and点位ID=0
如果节点是组服务器,则域<
0and组ID<
0 and点位ID=0
如果节点是点位,则域<
0and组ID<
0 and点位ID<
0
对于下行消息,域、组ID、点位ID表示消息的目的地
如果域<
0and组ID=0and点位ID=0,则消息发给域服务器。
但是需要具体分析消息的目的地。
0and点位ID=0,则组服务器是接收者。
如果节点是点位,则域<
0and组ID<
0 and点位ID<
0,这个时候目的地是确定的。
可能群发的命令,以及如何处理群发的任务;
1.如果需要群发,判断第6,7,8,9字段;
2.Sender需要判断是否群发,如果群发,则自己产生报文,群发;
3.群发的命令可能为查询类,更新类,其他类以及设置类中的设置时间,设置分辨率,设置关机;
4.如果群发,报文要注明群发至哪个级别,如:
群发到点位,则下行消息目的地为点位(0),域,组ID为相应内容,点位ID=0;
群发至组服务器,则下行消息目的地为组
(1),域,为相应内容,组ID=0,点位ID=0;
群发至域服务器,则下行消息目的地为域
(2),域=0,组ID=0,点位ID=0;
1.9.指令Instrution
指令需要与消息类型结合使用,用来判断消息的具体类别,及要调用相应的报文处理模块,采取的具体动作来处理。
CMD_BASE_HBEAT
心跳
CMD_BASE_HBREPORT
心跳报告
下级状态变化的报告报文
CMD_REG_REGISTER
注册
CMD_REG_LINK_TEST
连接测试
CMD_REG_LOGIN
播放器登陆
CMD_QUERY_DEVICE
查询设备端情况
CMD_QUERY_SERVER
查询服务器情况
CMD_SET_DATE_TIME
设置时间
CMD_SET_LOCALIP
设置本地IP
CMD_SET_CTRLIP
设置控制服务器IP
CMD_SET_FTPIP
设置FTP服务器IP
CMD_SET_RESOLUTION
设置分辨率
CMD_SET_PASSWORD
设置设备端密码
CMD_SET_DEV_RESET
设置设备/服务器重置(恢复出厂设置)
CMD_SET__DEV_INIT
0x08
设置设备/服务器初始化
CMD_SET_LOGGING
0x09
设备/服务器调试状态设定
CMD_SET_SAFETY
0x0A
安全设置(待定)
CMD_SET_PWRONOFF
0x0B
设置关机时间
CMD_UPD_FIRMWARE
更新固件
CMD_UPD_CONFIG
更新配置
CMD_UPD_PALYLIST
更新节目列表
CMD_UPD_SCROLL_TEXT
更新滚动字幕
CMD_UPD_LIST
更新列表信息
CMD_UPD_WEATHER
更新天气信息
CMD_UPD_IMMED_V
更新插播视频
CMD_UPD_IMMED_I
更新插播图片
CMD_UPD_IMMED_T
更新插播文字
CMD_UPD_LOGO
更新LOGO
OTHER_UPLD_OPERLOG
上载操作记录
OTHER_UPLD_PLAYREC
上载播放记录
OTHER_UPLD_FILELIST
上载本地文件列表
OTHER_UPLD_SYSTEM
上载系统运行记录
OTHER_DEL_FILE
删除指定文件
OTHER_PRGM_REG
文件入库
RECEIVE
收到报文回复
TASK_ERROR
任务出错回复
TASK_OVER
任务完成
DOWNLOAD_OVER
下载完成
QUERY_ANSWER_C
设备端查询回复
QUERY_ANSWER_S
服务器查询回复
具体的命令指令,见“命令格式详细”部分。
1.10.任务号TaskID
或者称为消息序列号。
A.任务号按层级编号,自动增长
——设备端0级1~9,999;
——接入/组1级10,000~19,999;
——路由/域2级20,000~29,999;
——中心3级30,000~39,999;
B.对于同一个任务号的应答,不管应答多少次,应答的任务号始终为任务发起端的任务号;
C.总是由发起者产生新任务号;
D.所有的任务号循环使用,到达最大后回头;
E.当进程退出:
——将任务号记录下来,再次启动时,将任务号+1处理;
(推荐)
F.D.G..P.T,应该可以保证任务号唯一。
表一:
ActiveTask,所有未完成的任务在此记录(设备和服务器必须由这个列表来跟踪每个任务执行情况;
如果一个任务执行完毕,比如获得最终应答,则从此表中删除);
表二:
TaskHistory,处理完毕的在此记录(所有接收到此报文的都有记录);
ActiveTask表需要定时序列化到硬盘,防止系统突然故障后数据丢失。
TaskHistory可以合并到系统的事件记录文件中。
G.因为新产生的任务号不会很多,一般不会出现一天就有重复任务号的情况;
H.心跳报文不考虑任务号(取0);
1.11.版本号Versions
用来标志命令格式的版本;
100――――1.0目前的版本号。
1.12.消息内容扩展
消息的具体内容,每个命令的处理程序需要解析之,进行相应的处理,并反馈相应的消息。
具体参见“命令详解”部分。
目前只考虑了三级服务器,同时第二级、第三级也可能就是点位。
所以在配置文件及消息中需要区别两点:
节点的级别、节点的类型。
所有的报文处理的类需要从同一基类开始。
这些类需要实现一个共同的接口。
比如产生报文;
解析报文;
加解密等。
2.命令格式详细
1.心跳类(命名空间OLC)
新增考虑:
如果某段时间,比如:
组服务器发生故障,我的域服务器可以直接去访问到播放器;
这样,首先,域服务器要有各个点位的IP地址,密钥,主动连接到播放器,而且域服务器和点位之间要有链路可以到达;
心跳类的第10字段“指令”对照表
变量
HEART
HEARTREPORT
心跳类播放器状态
PLAYING
播放
SLEEPING
休眠
POWEROFF
关机
播放器关机前,要发;
OFF_LINE
离线
不明问题
●心跳报文OnLine.cs
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 通信 命令 分类 090116
![提示](https://static.bdocx.com/images/bang_tan.gif)