J2me版飞信(以下简称飞信)的通信协议,基于HTTP协议。它和服务器之间的通信,是通过POST这个动作来完成的,需要传送的数据,放在POST请求的data部分。
每个请求都是有客户端发起的,POST出数据之后,接受服务器的响应,然后关闭连接。对响应进行处理。
=== 数据包格式 ===
包含在HTTP请求(或者响应)DATA部分的数据格式:
可以看到,每个包都分为Header和Payload两部分。
header是固定长度4个字节,其中,前三个字节(Length)表示整个数据包的程度,包括Header本身的长度,第4个字节(Code)表示请求的命令吗。表示长度的三个字节是按大端(big-endian)的格式(也就是网络字节序)来表示一个整数的。具体说就是,字节0表示长度的最高8位,字节1表示长度的中间8位,字节2表示长度的低8位。字节3表示请求码。
这个长度可以表示的很大,当然,暂时还用不上这么大。
Header后的有效数据(Payload)是变长的。该部分长度可以为0。一些简单的命令比如退出登录,只需要设置Code为对应的代码,Payload部分是不需要数据的。
服务器返回的数据格式和客户端发出的具有相同的格式。
=== 特殊的包 ===
在服务器响应中,有一个特殊的包,Code为 -1。 Code 为-1的包,实际上是有多个包组成的。需要把这些包全部分离出来,逐个处理它们。
[我不清楚是不是可以用Code为-1的包同时发送多个包到服务器,不过在飞信的代码里,没有看到这样的应用,只有从服务器收到的响应中有code为 -1的包]
- 大小: 7.8 KB
分享到:
相关推荐
J2ME_移动通信介绍J2ME_移动通信介绍J2ME_移动通信介绍J2ME_移动通信介绍J2ME_移动通信介绍J2ME_移动通信介绍
目前有许多不同种类的技术能够实现移动支付,其中J2ME凭借其多种显著的优势成为了佼佼者。移动支付系统也有多种体系架构,其中以第三方支付平台为中心的架构比较灵活、具有很强的可扩展性。本文讨论一个基于J2ME的以...
j2me移动开发实战教学视频源代码.rar j2me移动开发实战教学视频源代码.rar j2me移动开发实战教学视频源代码.rar j2me移动开发实战教学视频源代码.rar j2me移动开发实战教学视频源代码.rar
j2me网络类,http协议传输j2me网络类,http协议传输j2me网络类,http协议传输
J2ME手机移动银行的开发J2ME手机移动银行的开发J2ME手机移动银行的开发J2ME手机移动银行的开发J2ME手机移动银行的开发
J2ME移动开发视频讲义2入门教程也是郭克华J2ME 移动开发实战教学视频讲义
j2ME初学Demo j2ME demo j2me demo j2ME实例
教程名称:J2ME移动开发实战教学系列视频教程课程目录:【】1.体系介绍和环境配置(J2ME移动开发实战教学系列视频)【】10.数值运算,字符串处理,时间管理(J2ME移动开发实战教学系列视频)【】11.随机数,集合和...
基于J2ME的移动支付系统终端应用的实现
j2me在移动设备中的应用j2me在移动设备中的应用j2me在移动设备中的应用
J2ME无线移动游戏开发.iso J2ME无线移动游戏开发.iso
J2ME版RPG手机游戏《征途J2ME版RPG手机游戏《征途J2ME版RPG手机游戏《征途J2ME版RPG手机游戏《征途J2ME版RPG手机游戏《征途J2ME版RPG手机游戏《征途
J2ME移动开发实战精解教学J2ME移动开发实战精解教学
基于J2ME的移动通讯设备游戏的开发基于J2ME的移动通讯设备游戏的开发
计费,移动支付,客户端实现,J2ME计费,移动支付,客户端实现,J2ME
【摘 要】借助广泛使用...该系统基于J2ME和Web services技术,其中J2ME用于手机端客户程序的开发,而Web Services技术则用于处理服务器端和客户端之间的交互,能够配置在移动通信设备上,满足了随时随地的移动学习需要。
郭克华J2ME移动开发实战教学视频源代码
《J2ME移动软件程序设计》-卢军-电子教案-6931
J2ME移动软件程序设计J2ME移动软件程序设计J2ME移动软件程序设计