金庆的专栏

  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  423 随笔 :: 0 文章 :: 454 评论 :: 0 Trackbacks
应该允许客户端自行决定从服务器获取数据的方式。

1. 拉方式:请求时才发送。
2. 推方式:服务器主动发送。

客户端可以设定方式。
如客户端进入简化模式,不需要显示周围的玩家, 就设为请求时才发送周围玩家信息。

以位置同步信息为例:
假设服务器设定100-1000m范围内的位置同步信息的刷新间隔为3s.
客户端可以自主选择以下刷新方式:
1. 以不小于3s的间隔主动向服务器请求。如对于视野边缘的,刷新间隔可以是10s.
2. 由服务器主动发送,间隔为3s.

可以按范围设定,如设定近身5m范围内是推方式;
也可以按目标设定,如设定所有好友的数据都是推方式。

客户端可以设定所有数据都是由服务器主动发送,以获取最丰富的数据。
但是因为带宽和客户端处理能力的限制,可选择部份不重要数据以拉方式查询。

(转载请注明来源于金庆的专栏)



posted on 2010-02-01 10:11 金庆 阅读(594) 评论(1)  编辑 收藏 引用 所属分类: 2. 网游开发

评论

# re: 网游数据的推和拉 2010-07-27 02:38 yisa
拉推--抽象的很不错
但是 用移动信息来做例子, 似乎不是很合适.
用血条, 能量值, 和其他的一些属性来做例子, 比较合适.
比如 玩家关闭全部Role的血条显示, 血条更新停止,
但是如果有当前目标, 当前目标的hp还是要继续提示的,
包括查看其他玩家的高级属性,
这种方式更类似于"拉"
拉, 往往是针对某个具体的Role, 而推往往是Broadcast  回复  更多评论
  


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理