怎么连接gps发送第一个注册包,这个xml格式怎么写

1概述
1.1术语表
本协议用到以下术语:

术语 全称 描述
GPSBS GPS Business Server GPS业务服务器
GPSMT GPS Monitor System GPS监控终端
XML Extensible Markup Language 可扩展标记语言

1.2协议说明
GPSP协议以TCP/IP作为底层通信承载,具体堆栈结构由(图一)所示:

1.3适用范围
本协议适用于GPSBS与GPSMT之间的消息通讯。

2通信方式

GPSMT做为客户端,GPSBS做为服务端。当客户端要发送命令时,主动向服务器端建立TCP长连接,然后向服务器端发送命令,并接收应答;服务器端从客户端接收命令,返回应答。连接建立以后,客户端可以连续发送多条命令。客户端由于某种原因需要暂时中断通讯,客户端应该发起注销消息,收到返回后主动断开连接。
当信道上没有业务数据传输时,客户端/服务端应每隔时间30秒发送链路检测包以维持此连接, 服务端/客户端收到链路检测包后,立即返回链路检测应答包。服务端/客户端在120秒内没有收到任何消息包,则应断开此连接。
由于某种原因导致连接断开,客户端应尝试重新连接,才能继续发送业务数据包。
2.1连接服务器
客户端连接指定服务器上的端口,建立TCP/IP层上的长连接。
2.2注册通信
在已经连接服务器的基础上,向服务器端注册自己的身份。
注册通信是所有业务数据包发送之前发送的第一个数据包。它由客户端发送登陆名与密码到服务器,服务器根据注册包中的登陆名与密码,对客户端的合法性进行验证,然后返回注册消息返回包给客户端。如果验证通过,则客户端与服务器就可以进行后面的业务数据的通讯,否则断开TCP/IP连接
2.3通信过程
2.3.1 GPSMT、GPSMP发起的消息

2.3.2 GPSBS发起的消息

2.4注销通信
客户端向服务端发起请求断开连接,服务器端收到请求返回一个注销应答,当客户端收到应答后,关闭此连接。
2.5关闭连接
断开TCP/IP层的连接。
2.6通信异常处理
如果服务器端接收到的命令语法错误,比如命令不完整、命令无法识别等,则断开和客户端的连接;客户端应该向服务器端建立新连接继续发送命令。
如果客户端接收到的应答语法错误,比如命令不完整、命令无法识别等,则主动断开和服务器端的连接;服务器端也应该断开和客户端的连接。
如果命令语法正确,但服务器端不处理该命令,则返回相应应答,并在应答中指定错误原因。
如果应答语法正确,但客户端不处理该应答,则丢弃。
2.7连接故障处理
客户端与服务器端的通信过程中,如果由于线路或其他原因导致TCP/IP连接断开,客户端应尝试重连。
3消息定义
3.1消息中数据类型
类型 说明
Unsigned Integer 无符号整数, 采用网络字节顺序
Text 字符串
(表一)消息的数据类型
注:消息说明中的长度指占用字节数。
3.2消息组成
基于TCP/IP连接上GPSP协议消息分为消息头与消息体两部分。
项目 说明
消息头 消息头部分
消息体 消息体部分
(表二)消息的组成

  消息头分为同步头、消息长度、消息类型三部分:

项目 类型 长度 说明 取值
同步头 Text 4 为检测每个包的起始位置 “^#~>”
消息长度 Unsigned Integer 4 整个消息头与消息体的长度

消息类型 Unsigned Integer 4 表示此消息的类型 参见【常量定义】中的消息类型定义
(表三)消息头的组成
消息体是由格式良好的XML组成。此XML的根元素必须是;业务请求消息包中必须包含(功能码)和(序列号),业务请求应答包必须包含(返回码)和(序列号)。具体消息定义参见下面消息体描述。
序列号(TRACE)由“MMDDHHmmss”+四位流水号(从0000到9999),长度为14位,能保证一年不重复,如“06241304350345”,表示6月24日13点04分35秒第345个包。
注:以下描述中元素值全为Text类型;所标长度为最大长度(不足长度的不用补其他字符);本文档XML中的汉字为元素值的中文描述。
3.3消息体描述
3.3.1注册消息
注册消息是校验监控终端的合法性。为了不在注册消息中传送明文用户名和明文密码,采用校验GPSBS分配的用户名与密码摘要的方式实现。
<?xml version="1.0" encoding="GB2312" standalone="no"?>

序列号
MERCID<>ERP代码
用户名

用户密码摘要base64编码

元素名 重要性 元素值长度 元素值描述
TRACE 必须 14 序列号
MERCID 必须 8 ERP代码
USERNAME 必须 28 由GPSBS提供的登陆用户名
PASSWORD 必须 28 由GPSBS提供的登陆密码MD5摘要的base64编码,用来检测接入的合法性

3.3.2注销消息
<?xml version="1.0" encoding="GB2312" standalone="no"?>

序列号

元素名 重要性 元素值长度 元素值描述
TRACE 必须 14 序列号

3.3.3探测包消息
<?xml version="1.0" encoding="GB2312" standalone="no"?>

序列号

元素名 重要性 元素值长度 元素值描述
TRACE 必须 14 序列号

3.3.4业务请求消息
<?xml version="1.0" encoding="GB2312" standalone="no"?>

序列号
传送方向
功能码
<!—其他元素待定

元素名 重要性 元素值长度 元素值描述
TRACE 必须 14 序列号
TRANSFLAG 必须 2 ‘00’服务端请求;’10’客户端请求
FUNCODE 必须 8 功能码,取值参见【常量定义】中的业务请求/应答功能码定义
必须 其他元素,参见下面的具体业务

3.3.5注册应答消息
<?xml version="1.0" encoding="GB2312" standalone="no"?>

序列号
返回码
失败原因

元素名 重要性 元素值长度 元素值描述
TRACE 必须 14 消息序列号原样返回
RETCODE 必须 1 注册消息返回值,返回码参见【常量定义】中的返回码定义
ERRDESC 可选 100 失败原因

3.3.6注销应答消息
<?xml version="1.0" encoding="GB2312" standalone="no"?>

序列号

元素名 重要性 元素值长度 元素值描述
TRACE 必须 14 消息序列号原样返回
3.3.7探测包应答消息
<?xml version="1.0" encoding="GB2312" standalone="no"?>

序列号

元素名 重要性 元素值长度 元素值描述
TRACE 必须 14 消息序列号原样返回
3.3.8业务请求应答消息
<?xml version="1.0" encoding="GB2312" standalone="no"?>

序列号
传送方向
功能码
返回码

元素名 重要性 元素值长度 元素值描述
TRACE 必须 14 序列号
TRANSFLAG 必须 2 ’01’服务端应答;’11’客户端应答
FUNCODE 必须 8 业务请求功能码原样返回
RETCODE 必须 8 业务请求消息返回码,参见【常量定义】中的返回码定义

4常量定义
5.1服务端口定义
服务器名称 服务器IP 服务端口 客户端名称

5.2消息类型定义
消息名称 消息取值(十六进制)
注册消息 0x00000001
注册应答消息 0x10000001
注销消息 0x00000002
注销应答消息 0x10000002
探测消息 0x00000003
探测消息应答 0x10000003
业务请求消息 0x00000004
业务请求应答消息 0x10000004
(表五)消息类型定义

5.3返回码定义
错误码 描述
0 无错误,命令正确接收
1 非法登录,如登录名、口令出错、登录名与口令不符等。
2 非法源地址
3 连接过多,指单个节点要求同时建立的连接数过多。
4 设备ID重复登录
5 参数格式错误
7 设备ID不存在
8 设备ID已经存在
9 对应移动终端SIM卡号不存在
10 对应移动终端SIM卡号已经存在
其他 待定
(表六)返回码定义

1个回答

有对应的xml的格式规范,参考下就可以

dajienet
dajienet 不可以啊
3 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐