博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
阅读天龙八部的代码有感
阅读量:5888 次
发布时间:2019-06-19

本文共 547 字,大约阅读时间需要 1 分钟。

1: wrapper facade ,天龙的代码是与操作系统无关的代码,即跨平台的代码。所有与平台代码相关的函数调用确实进行了封装,比如FileAPI,SocketAPI

2: 严格的线程划分, 为了消除线程切换引起的隐形消耗,天龙代码进行了严格的线程划分与分配,这一点可以再GameServer的启动函数中体现,由于找不到天龙场景的配置文件,所以在这里不能做相近的讲解。

3: SocketOutputStream,SocketInputStream,两个函数设计最大程度的减少了IO拷贝的次数

4: 数据包简单工厂的设计模式,在之前见到的所有的服务器代码中,设计到数据处理时,都是用了有限量的switch case 进行比配。而天龙使用简单工厂的模式,使用哈希表的数据结构找到对应的数据包工厂,并且进行处理。

5: 最大限度的减少第三方库的使用,在很多的网游设计时,可能大量的使用ACE、boost、stl,而在天龙八部的代码中这些库没有用到,而是巧妙的数组设计。比如GamePlayer,对应Obj_Human。

.......//未完待续.....

转载于:https://www.cnblogs.com/archy_yu/archive/2012/12/10/2810820.html

你可能感兴趣的文章
Applet
查看>>
高并发环境下,Redisson实现redis分布式锁
查看>>
关于浏览器的cookie
查看>>
Hyper-V 2016 系列教程30 机房温度远程监控方案
查看>>
笔记:认识.NET平台
查看>>
cocos2d中CCAnimation的使用(cocos2d 1.0以上版本)
查看>>
【吉光片羽】短信验证
查看>>
gitlab 完整部署实例
查看>>
GNS关于IPS&ASA&PIX&Junos的配置
查看>>
影响企业信息化成败的几点因素
查看>>
SCCM 2016 配置管理系列(Part8)
查看>>
struts中的xwork源码下载地址
查看>>
ABP理论学习之仓储
查看>>
我的友情链接
查看>>
Tengine新增nginx upstream模块的使用
查看>>
CentOS图形界面和命令行切换
查看>>
HTML5通信机制与html5地理信息定位(gps)
查看>>
汽车常识全面介绍 - 悬挂系统
查看>>
加快ALTER TABLE 操作速度
查看>>
学习笔记之软考数据库系统工程师教程(第一版)
查看>>