饭中淹的避难所~~~~~
偶尔来避难的地方~
C++博客
::
首页
::
新随笔
::
联系
::
聚合
::
管理
::
94 随笔 :: 0 文章 :: 257 评论 :: 0 Trackbacks
<
2010年4月
>
日
一
二
三
四
五
六
28
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
6
7
8
公告
常用链接
我的随笔
我的评论
我参与的随笔
留言簿
(19)
给我留言
查看公开留言
查看私人留言
随笔分类
XLIBPLUS(1)
(rss)
手机开发(ios)(2)
(rss)
数据算法分析(19)
(rss)
游戏策划(1)
(rss)
游戏服务器(17)
(rss)
游戏客户端(9)
(rss)
随笔档案
2017年11月 (1)
2013年10月 (1)
2012年12月 (4)
2012年11月 (1)
2012年2月 (2)
2011年10月 (1)
2011年9月 (1)
2011年8月 (3)
2011年7月 (6)
2011年6月 (1)
2011年5月 (2)
2011年4月 (7)
2011年3月 (1)
2011年2月 (5)
2011年1月 (2)
2010年8月 (4)
2010年7月 (1)
2010年5月 (5)
2010年4月 (3)
2010年3月 (3)
2010年2月 (3)
2010年1月 (5)
2009年12月 (1)
2009年11月 (1)
2009年9月 (1)
2009年7月 (1)
2009年6月 (1)
2009年3月 (2)
2009年2月 (1)
2009年1月 (3)
2008年6月 (2)
2008年4月 (10)
2007年5月 (1)
2007年4月 (7)
2007年3月 (1)
新闻档案
2007年5月 (1)
相册
aaa
我的其他BLOG
搜索
最新评论
1. re: 【备忘】Android ndk下用AssetManager读取assets的资源。
能给个完整的吗
--gy
2. re: 【未解决的问题(们)】[未登录]
我们的解决办法是,代码里用英文注释。
--Alex
3. re: 一种经典的网络游戏服务器架构
学习了 make一下
--mikie
4. re: 【备忘】用ndk编译freetype
为什么 我执行 ./configure 时 出现 Nothing to be done for `unix'.
--boom
5. re: 【备忘】Android ndk下用AssetManager读取assets的资源。
谢谢,帮了大忙!!!
--过客
阅读排行榜
1. 一种经典的网络游戏服务器架构(31446)
2. 使用IOCP需要注意的一些问题~~(不断补充)(11385)
3. 【备忘】Android ndk下用AssetManager读取assets的资源。(10312)
4. 【备忘】Android下编译cocos2dx工程(4702)
5. WOF(名将三国)的TGL文件格式(4655)
评论排行榜
1. 一种经典的网络游戏服务器架构(35)
2. WOF(名将三国)的TGL文件格式(19)
3. 使用IOCP需要注意的一些问题~~(不断补充)(16)
4. 通用的类成员函数调用方法.(12)
5. 无锁线程通信(1)(11)
MMORPG游戏服务器场景中对于多个观察者的广播消息重复解决方案。
问题背景:
游戏中,玩家可以在场景某处放置一个监控器,从而接收该处周围的物件的广播消息。不过,当玩家观察区域和监控器观察区域出现重叠时,在重叠区域的广播消息就会收到两次。
解决方案:
场景中有一个广播计数器,用来记录当前广播的顺序。一个有效的广播接受者(指一个玩家,或者其他广播观察者),保有一个最后广播顺序的变量,来记录最后一次广播的全局顺序。当收到广播消息时,接受者更新这个变量。碰到广播消息的顺序号小于等于最后广播的顺序号时,丢弃这个广播消息。从而过滤掉重复的消息。
posted on 2010-04-28 13:48
饭中淹
阅读(2697)
评论(6)
编辑
收藏
引用
所属分类:
游戏服务器
评论
#
re: MMORPG游戏服务器场景中对于多个观察者的广播消息重复解决方案。
2010-04-29 10:17
金庆
消息不是发给角色或监控器,而是发给它们的客户端。先列举可接收的客户端,再广播,就不会重复了。
回复
更多评论
#
re: MMORPG游戏服务器场景中对于多个观察者的广播消息重复解决方案。
2010-04-29 22:12
饭中淹
@金庆
列舉過程消耗太大。
回复
更多评论
#
re: MMORPG游戏服务器场景中对于多个观察者的广播消息重复解决方案。
2011-05-05 18:46
康
@金庆
@饭中淹
我们采用的方法是九宫格通道划分客户端,广播消息到通道,通道发送到客户端。一个客户端仅在一个通道。
回复
更多评论
#
re: MMORPG游戏服务器场景中对于多个观察者的广播消息重复解决方案。
2011-05-06 00:51
饭中淹
@康
我这里也是这种方法,不过,这里是在解决另外的问题:
当一个角色有多个可见区域的时候,
可见区域重叠,带来的广播消息的重复。
回复
更多评论
#
re: MMORPG游戏服务器场景中对于多个观察者的广播消息重复解决方案。
2011-05-06 10:45
康
@饭中淹
假设角色有多个可见区域 A,B
则应该发消息到 (A∪B) - (A∩B),来去掉重复的区域以及重复的通道,从而控制消息不会重复发送。
回复
更多评论
#
re: MMORPG游戏服务器场景中对于多个观察者的广播消息重复解决方案。
2011-05-08 15:27
饭中淹
@康
你说的是每个方法最初的理论基础。但并不是最好的方法。
回复
更多评论
刷新评论列表
只有注册用户
登录
后才能发表评论。
【推荐】100%开源!大型工业跨平台软件C++源码提供,建模,组态!
相关文章:
[备忘] docker运行带systemd的centos镜像的问题
【MYSQL】折腾了半天的存储过程异常错误
【TRACK】
【备忘】XSE3.0的一些技术细节
【工作记录】2011-07-30
【开放源代码】XSE2.0的支持库XLIBPLUS和XNETWORK。
【开放源代码】基于IOCP的网络底层库XSE2.0源代码(包含C\C++\C#示例)
在WINDOWS下如何高效的使用內存
Project Sunshine
【一种通用性扩展性较强的数据库解决方案】
网站导航:
博客园
IT新闻
BlogJava
博问
Chat2DB
管理
Powered by:
C++博客
Copyright © 饭中淹