实现了一个AOI模块

在场景服务中,如果有一个人A的行为想要被其他人看得到,就必须将A的数据包进行转发给其他人。最KISS的办法,就是直接把A的数据包直接在场景服务内组播。但是在一个场景服务中可能有成百上千个人,如果直接在服务进程内进行广播,数据流量会大到一个很夸张的地步,至少以目前的网速来讲是不现实的。因此,往往场景...

2017-07-23 11:46:26

阅读数 1132

评论数 0

一个高可伸缩的游戏服务器架构

一个高可伸缩的游戏服务器架构原文连接:http://blog.gotocoding.com/archives/827设计完socket通讯协议后,就面临着服务器架构设计了。我希望他是一个去中心化且具有高可伸缩性的集群架构。水平扩展是高可伸缩的首要条件,因此,在设计之初就必须考虑好水平扩展考方案。事...

2017-07-07 14:05:33

阅读数 1628

评论数 0

关于网络协议封装的一些新想法

最近业余时间在写一个小游戏。在为客户端封装socket层时头脑一热,有了一些新的想法, 在这里记录一下。客户端使用的是Unity3d引擎。而在Unity3d中,基础的socket库只提供两种模式,一种是阻塞模式,一种是异步callback模式。一般都需要基于这两种模式下进一步封装,才可以更方便的使...

2017-05-28 18:17:10

阅读数 1195

评论数 0

给silly增加热更新

最新抽了点时间给Silly增加了了一个silly.patch模块,用于对热更新提供一些有限的支持。 热更新最麻烦之处莫过于“数据迁移”, 即怎么使新函数(要更新的函数)以“运行时数据”的状态运行。 其实http这类无状态协议是最为简单的,因为他们不需要“数据迁移...

2017-04-18 13:18:55

阅读数 298

评论数 0

使用缓存优化数据请求

继上一篇场景之后,事情还没有完。 我有一堆struct obj对象(数量级可能为千级), 客户端需要频繁拉取这些信息中的一部分去显示(比如,当切换标签页时)。 由于这一操作可能会很频繁,而struct obj对象并不算小,如果每一次都重新拉取全部数据,有点让人不舒服,而且对流量也是...

2017-04-18 13:13:43

阅读数 383

评论数 0

如何恢复全局INDEX

一般来说,当需要分配全局惟一id时,一般都会有一个变量来记录当前最新的id值,比如叫INDEX变量。 每次需要分配id时,只要简单的自增一下INDEX变量,然后INDEX的值即为当前分配出去的ID的值。 为了最大可能的延迟复用已经分配过的id,一般来说不会去特殊处理INDEX变量,...

2017-04-18 13:10:05

阅读数 292

评论数 0

消除弱表中的循环

消除弱表中的循环(Eliminating Cycles in Weak Tables) 作者:Alexandra Barros, Roberto Ierusalimschy 译者:重归混沌 摘要: 弱引用 为与垃圾回收器交互提供了一种优雅的机制。弱引用 的大多数典型应用...

2017-04-12 10:14:44

阅读数 278

评论数 0

silly的一次大规模重构

最近一个月都在重构silly, 包括其工作模式以及一些扩展库的实现基本上都被重写了。 其实coding的时间并没有想象中的那么长,只是在重构过程中碰到很多取舍情况,大部分时间都耗费在了纠结的时间上。 当初实现silly的初衷是首先满足类似gameserver这类业务模型的需求,然后尽可能多的兼...

2017-04-12 09:52:54

阅读数 322

评论数 0

关于silly

自从写了第一个假server之后, 我就一直在想真正的处理高并发的server是如何做的。然后我就研究了skynet, nginx, Node.js这些服务器程序框架。 这些框架除了skynet, 另外两个框架则仅仅是从使用上进行了了解, 并没有去通读他们的源码。所以基本了解下来,skynet...

2017-04-12 09:42:38

阅读数 218

评论数 0

我的公众号

TL;DR: 我的公众号二维码 看公众号的注册日期就知道,这个号其实注册很久了,一直没开启就是因为我想通过程序自动把我的blog搬过来. 去年是因为懒得去支持https,然而经过我昨天夜里不懈的奋斗终于支持了https发现,这压根就不是https的事,我的个人账户就没有使用ap...

2017-03-02 09:26:27

阅读数 245

评论数 0

重归混沌的blog新地址

博客搬家了, 重归混沌的blog新地址:http://blog.gotocoding.com

2014-05-14 09:14:50

阅读数 444

评论数 0

解决 “无法安装 Visual Studio 2010 Service Pack 1,因为此计算机的状态不支持”

解决办法: 32 位系统删除:HKEY_LOCAL_MACHINE\Software\Microsoft\VSTO Designtime Setup\ 64 位系统删除:HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\VSTO Des...

2013-04-08 17:21:18

阅读数 784

评论数 0

Win7下VS2010不能链接问题

重装系统后,就没用过VS2010,今天想用VC2010写个小工具,结果新建的工程,一行代码不写都不能链接通过。出错提示如下:fatal error LNK1123: failure during conversion to COFF。网上Google一下很多人都说是嵌入式表单设置为NO或者是资源I...

2013-04-08 14:44:39

阅读数 5692

评论数 1

UcosII 就绪表的理解

为了保证系统的实时性,在就绪表这一块,内核设计者设计了一种算法,这个算法在O(1)的时间里完成查找就绪表中最高优先级的任务(遍历就绪表来查找最高优先级的做法是不能保证实时性要求的)。关于就绪表,这里涉及到四个数据结构,分别是:OSRdyGrp、OSRdyTbl[]、OSMapTbl[]和OSUnM...

2012-09-16 10:59:47

阅读数 610

评论数 0

关于stm32 APB总线上的"接口时钟使能"与"外设时钟使能"

今天看>上的RTC时钟,发现他没有使能APB1的上BKP时钟,就能读出BKP寄存器里的内容.很是不解,又看了一遍发现APB总线上的时钟使能分为两种,一种是时接口时钟一种是外设时钟. 又仔细观查了一下时钟树发现在APB外设时钟使能寄存器上表现为接口时钟的都已经有了自己的时钟,再经实验证明所有这...

2012-07-17 15:37:35

阅读数 2747

评论数 0

stm32的窗口看门狗的一点发现

今天看stm32的窗口看门狗,突然发现很不正常,于是做了各方面的实验得出以下结论,由于只是实验了得出的结论没有官方结论,所以如果有人有理论依据请告知我,非常感谢1 1.一旦使能窗口看门狗的时钟,SR寄存器的EWIF位就会被置1 2.一旦在定义的窗口范围外喂狗就会复位 3.在没有使能窗口看门狗...

2012-07-15 11:08:47

阅读数 2050

评论数 4

XP下JDK不能安装的解决办法

运行 cmd , 执行 "msiexec /unregserver" 然后 再执行 "msiexec /regserver"

2012-07-13 16:21:16

阅读数 1007

评论数 0

读The C programming language的新发现

1.C语言标准中的各类型长度,及指针长度并没有明确指定是多长,只是有一个长度限定。还有建议字节数,但这绝不应该成为我们写程序时的标准。因此,我们每到一个新平台的话就最好先搞清楚各类型是多长! 2.C语言中char ,signed char,unsigned char,是3种类型,因为char 到...

2012-05-22 17:50:23

阅读数 726

评论数 1

~/.fvwm/fvwm.stroke

#strokes #window list without drag Stroke 0 0 R N WindowList #button 3 guesture with Ctrl starts programs in any context #"r" like guestur...

2012-04-22 13:39:27

阅读数 884

评论数 0

~/.fvwm/.fvwm2rc

ImagePath +:/usr/share/icons:/usr/share/pixmaps:/usr/share/icons/hicolor/48x48/apps:/usr/local/share/fvwm/icons:$HOME/.fvwm/icons EdgeResistance 250 ...

2012-04-22 13:26:40

阅读数 1640

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭