一 MIDP通讯技术
1. HTTP:
当网络中的真实电话配置HTTP流MIDlet的时候,不要尝试一次只发送一小段数据:在发完全部数据之前,不会收到什么东西。
当从服务器发送HTTP响应要被延迟到某个事件发生,移动网络中开发连接可能很昂贵,通常会因超时而被中端,这一情况比在互联网上更容易发生。
移动电话通常没有资源去支持多重开放的HTTP连接。在数据结构和数据缓存方面的开销非常大。
HTTP 方法
GET:用于向服务器请求一个静态资源,重复一个GET请求将得到相同的资源响应。GET请求仅提供资源的URL,不包括任何消息体。
POST:用于向服务器请求一个动态资源(如游戏中的一个回合),重复一个POST请求将得到不同的资源响应。POST响应也包括一个带服务响应数据的消息体,是MIDlet的常用方法。
来自某个服务器的HTTP响应可能包含成功(2xx)、重定向(3xx)或错误(4xx, 5xx)之类的状态码。这些代码需要由HTTP客户端处理。
HTTP消息体
发送的信息只是一串字节流,可以对这些字节信息进行编码,包括:
文本;图像文件(至少支持对PNG解码);XML;其它用户定制数据结构。
HTTP会话
服务器把MIDlet发起的一系列连续请求作为一个HTTP会话来跟踪,由于HTTP本身是无状态的,所以必须在HTTP协议层之上实施会话管理。
方法一:各种会话cookie。
方法二:URL重写。
由于cookie还有其它用途,所以处理会话cookie的完整MIDlet实现起来比较复杂,重新URL则简单许多。
HTTP服务器
有包括java servlet,
jsp, asp,
asp.net, cgi script在内的多种选择。
2. TCP:
互联网上的http通常以TCP实现,TCP连接的端点是一个套接字socket。MIDP 1.0 不包括对TCP的支持,MIDP 2.0 规定了对TCP的支持,制造商可以自己选择是否包含这种支持。
3. UDP:
使用UDP时,两台正在通讯的设备间所发送的数据报(datagram)往往也被称为数据包(data packet), MIDP 1.0 不包括对UDP的支持,MIDP 2.0 规定了对UDP的支持,制造商可以自己选择是否包含这种支持。在诸如GPRS这样的分组交换协议上实现时,考虑到移动网络的响应时间,包的发送量一般并不需要超过每秒一个,并注意包的大小。
4. 串行电缆
MIDP 2.0中通过接口SerialPortConnection实现支持。
5. 红外
MIDP 2.0中通过接口SerialPortConnection实现支持。
6. 蓝牙(MIDP可选包通讯技术)
一种短程无线技术,支持约10米范围最多8台设备一起通讯,响应时间短,非常适合于多人游戏(由于蓝牙超各个方向传输,彼此之间不必正对)。