J2ME多人游戏注意事项(笔记类)

作者:网络 来源:佚名 更新时间:2008-05-08 19:05:29 点击:
一 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台设备一起通讯,响应时间短,非常适合于多人游戏(由于蓝牙超各个方向传输,彼此之间不必正对)。




7. sms短消息服务

sms(short message service)可以发送文本消息或者是二进制数据,是一种“存储转发”技术。通过一台短消息服务中心(smsc)保存消息在队列中,并稍后转发。







8. mms多媒体消息服务

是sms的一种升级版本,允许把一段消息分成几部分,包括文本,图片,声音以及视频,也是一种“存储转发”技术。mms实现综合使用了sms和http。




二游戏服务器技术

http和https

在服务器端,你可以使用任何一种通常用于http服务器的技术,如:静态网页、cgi、asp、java servlet,以及javaserver page(jsp)。java程序员通常的选择是java servlet。


三游戏类型及相关注意事项

多玩家单人游戏 & 回合制游戏:

这种游戏的特点是玩家轮流上阵,没有用到网络,也不会受网络延世的限制。




循环赛游戏 & 同时行动游戏:

当使用midp 1.0,可以选择http,但http有一个重大缺点,游戏服务器无法告知midp客户端:现在轮到你了,所以客户端必须测试,定时询问游戏服务器:轮到我了么,所以应该考虑提供一种能中断等待并立即开始下一次查询的方案。

midp 2.0,tcp可能是最佳选择,轮到一个玩家时,服务器会立即通知他,这很重要,因此udp就可能不太适合。另外,在循环赛中,tcp可能导致的额外延时并不成为问题。




“随时玩”类型游戏:

如果游戏中涉及实时动作,http的延时就会显得过于严重。用midp 2.0时应该考虑udp, tcp,或两者结合。移动网络的延时对快速的,实时的多人交互游戏来说影响太大了。




四多人游戏共通特性

永久性用户帐户

游戏大厅(lobby)

高分表

玩家之间交谈

显示延时 ...

  • 本文来源于网页设计爱好者web开发社区http://www.html.org.cn收集整理,欢迎访问。