山海易绘EzMatics
实时定位消息服务系统V2.2
二次开发手册
(接口协议)
北京山海经纬信息技术有限公司
2011年6月
本手册内容改动及版本更新将不再另行通知。本手册的范例中所使用的人名、公司名以及数据,如果没有特别指明,均属虚构。对于本手册、及本手册涉及的技术和产品,北京山海经纬信息技术有限公司拥有其专利、商标、著作权或其它知识产权,除非得到北京山海经纬信息技术有限公司的书面许可,本手册不授予这些专利、商标、著作权或其它知识产权的许可。
版权所有 C2004-2010
北京山海经纬信息技术有限公司保留所有权利。
山海易绘是北京山海经纬信息技术有限公司的注册商标。
其它标牌和产品名称是其各自公司的商标或注册商标。
山海易绘EzMatics产品的一切有关权利属于北京山海经纬信息技术有限公司所有。
本手册中所涉及的软件产品及其后续升级产品均由北京山海经纬信息技术有限公司制作并负责全权销售。
如果您对本产品有任何建议和疑问,请与以下地址联系:
北京山海经纬信息技术有限公司产品服务部
地 址:北京市海淀区苏州街29号维亚大厦801室
编:100080
真:(01082612775
话:(01082616439  82616316  82616319
E-mailsupport@easymap
目    录
1    消息接入流程    1
1.1    TCP接入流程    2
1.2    UDP接入流程    3
2    接口定义说明    4
2.1    接口类型    4
2.2    接口参数    4
2.3    类型说明    7

1 消息接入流程
用户可采用“TCP协议”(或“UDP协议”)通信方式进行定位信号接入(如图11定位消息接入流程图[TCP]所示)。
注:
1) 在通信环境良好的情况下,建议采用UDP方式发送数据;
2) TCP接入默认端口号为“6607”;
3) UDP接入默认端口号为“9989”。
1.1 TCP接入流程
图11定位消息接入流程图[TCP]
具体步骤说明:
1. EzMatics后台服务作为服务器端,其它接入端为客户端;
2. 客户端主动连接服务器,并建立SOCKET通信连接;
3. 客户端向服务端发送登录认证报文数据;
4. 服务器端在接收到登录报文数据后,将进行认证处理。如果成功,则发送通过认证消息,否则向客户端发送认证失败消息;
5. 客户端在接收到服务器端“认证成功”的消息后,即向服务器发送指定格式的通信报文数据;
6. 服务器端在建立同客户端的连接通信后,如果在一段时间内仍未接收到客户端发送的定位报文数据,则会主动向该客户端发送心跳检测报文命令。客户端在接受到心跳指令后,需要应答服务器的心跳命令。如果服务器端在发送心跳命令后的一定时间内(如1分钟),仍未接收到客户端的心跳回馈命令,则会主动断开同客户端的连接。
7. 客户端在断开同服务器的通信连接时,需要发送断开连接命令,然后断开连接。
注:如果客户端同服务器端的连接失败,则需要客户端发起重新连接请求。服务器不负责重新连接。
1.2 UDP接入流程
图12定位消息接入流程图[UDP]
具体步骤说明:
客户端无需认证等交互信息,直接向服务器指定的端的发送定位报文数据就可
1.3 UDP分发流程
图13定位消息分发流程图[UDP]
具体步骤说明:
消息服务能主动向指定的目标通过UDP协议发送定位消息数据。
2 接口定义说明
2.1 接口类型
接口类型:SOCKET协议。
2.2 接口参数
以下协议对“TCP”和“UDP”方式都通用。
1) 通信数据包定义
            数据头
数据体
标志头
命令标志
版本号
包体大小
数据内容
2Byte
2Byte
2byte
4Byte
nByte
其中 包体长度只包括“数据体长度”,不包括“包头”和“包尾部分”。
2) 数据包头定义格式
参数描述
大小
类型
   
说明
标志头
2
Unsigned short
0xAAAA
报文头标志
命令字
2
Unsigned short
0xBBBB 
登录系统命令字
0xBBCC
登录应答命令字
0xCCCC
定位数据命令字
0xEEEE 
心跳检测命令字
0xFFFF 
断开连接命令字
0xDDDD
报警或自定义消息
版本号
2
Unsigned short
0x2200
第一个字节固定为:0x22表示协议版本;
第二个字节0x00表示协议加密情况[暂未用]
包体大小
4
int
可变
网络字节序
3) 登录包体定义【该接口只用于TCP接入方式】
命令字(CommandID)
0xBBBB 
协议包长度(字节)
50
包体(BODY
字段名称
字节大小
类型
备注
认证编码
50
char
实际长度不足50字节时,右补二进制0
4) 登录应答包体【该接口只用于TCP接入方式】
命令字(CommandID)
0xBBCC
协议包长度(字节)
52
包体(BODY
字段名称
字节大小
类型
备注
认证结果
2
Unsigned short
0x0001 : 登录成功
0x0000 : 登录失败
描述
50
char
登录描述信息
5) 心跳检测包体【该接口只用于TCP接入方式】
命令字(CommandID)
0xEEEE
协议包长度(字节)
0
包体(BODY
字段名称
字节大小
类型
备注
6) 断开连接包体【该接口只用于TCP接入方式】
命令字(CommandID)
0xFFFF
协议包长度(字节)
0
包体(BODY
字段名称
字节大小
类型
备注
7) 定位消息包体【该接口TCP和 UDP通用】
命令字(CommandID)
0xCCCC
协议包长度(字节)
51 + n
包体(BODY
字段名称
字节大小
类型
备注
终端编号
20
char
实际长度不足20字节时,右补二进制0
经度
8
double
例: 119.12313
纬度
8
double
例: 34.232443
速度
2
unsigned short
单位:米/秒
该值采用了网络字节序
方向
2
unsigned short
以正北方向为0角度,顺时针方向偏转该值采用了网络字节序
高程
2
unsigned short
单位:米
该值采用了网络字节序
精度
2
unsigned short
1. 0xFFFF:无效定位。
2. 无此项值设置为: 0x0000填充,否则按正常精度值填充。
3.单位:米。
该值采用了网络字节序
时间
2
Unsigned short
该值采用了网络字节序
1
byte
1
byte
1
byte
1
byte
1
byte
备用字段
n < 1024
char
该项非必须,如果没有该字段内容,则包体长度不计算该部分
2.3 UDP转发报文
同接入的定位报文格式一致。
包体(BODY
字段名称
字节大小
类型
备注
标志头
2
Unsigned short
固定为0xAAAA
命令字
2
Unsigned short
固定为:0xCCCC
版本标志
socket通信报文格式
2
Unsigned short
固定为:0x2200
包体大小
4
int
51+N (N标志备注字段大小)
该值采用了网络字节序
终端编号
20
char
实际长度不足20字节时,右补二进制0
经度
8
double
例: 119.12313
纬度
8
double
例: 34.232443
速度
2
unsigned short
单位:米/秒,无此项按:0x0000填充
该值采用了网络字节序
方向
2
unsigned short
以正北方向为0角度,顺时针方向偏转,无此项按:0x0000填充
该值采用了网络字节序
高程
2
unsigned short
单位:米,无此项按:0x0000填充
该值采用了网络字节序
精度
2
unsigned short
1. 0xFFFF:无效定位。
2. 无此项值设置为: 0x0000填充,否则按正常精度值填充。
3.单位:米。
该值采用了网络字节序
时间
2
Unsigned short
该值采用了网络字节序
1
byte
1
byte
1
byte
1
byte
1
byte
备用字段
N< 1024
char
该项非必须,如果没有该字段内容,则包体长度不计算该部分
2.4 其他说明
类型
类型说明
Double
8字节双精度型
Int
4字节整型 ,采用网络字节序
Unsigned short
无符号2 字节整型,采用网络字节序
Byte
单字节整型
char
单字节字符型
如果采用结构体(VC)定义消息接入消息,则需要 建立一个字节的对齐。
#pragma pack(push, 1)
….
#pragma pack(pop)

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。