网游服务器框架(1)Session

原创 2013年12月04日 21:50:45

因为不想去处理网络IO 所以偷懒直接使用了 libevent作为网络库。。(但是后果就是很多莫名其妙的bug无法明白。以后尝试替换

首先  每一个新连接 都会分配一个 SessionID 作为流水号增长。
相当于一个Client
然后统一放到一个Singlton的SessionManager里做统一处理 。使用map存储 SessionID作为key

每个Session都有一个接受数据缓存区。收到数据便往添加到缓存区尾部。然后尝试去parse一个包。
每个包包含

byte     字节序
int      全包长度 (包含字节序那1字节
short    客户端包序列
short    协议包类型
byte     协议版本
short    16位校验码
int      包数据长度
void*    包数据

其实每个包都带字节序有些多余。可以尝试在第一个包里确定。
解析后,将解析过的数据从缓存区中移除。
得到包后记录得到时间, 将包放到一个环形队列中,等待被执行。



网游服务器技术-语言选择

仔细算算,参加网游开发已经3年多了。虽然参与最多的,都是逻辑玩法部分的开发,但是对于服务器的架构,逐渐有了点认识。 13年年底,利用工作之余自己编写了个简易的服务器框架。而最近又看了看nodejs,...
  • leecrest
  • leecrest
  • 2014年03月30日 14:46
  • 1191

一种高性能网络游戏服务器架构设计

网络游戏的结构分为客户端与服务器端,客户端采用2D绘制引擎或者3D绘制引擎绘制游戏世界的实时画面,服务器端则负责响应所有客户端的连接请求和游戏逻辑处理,并控制所有客户端的游戏画面绘制。客户端与服务器通...
  • yh1548503342
  • yh1548503342
  • 2014年12月05日 17:34
  • 9584

大型多人在线游戏服务器架构设计

由于大型多人在线游戏服务器理论上需要支持无限多的玩家,所以对服务器端是一个非常大的考验。服务器必须是安全的,可维护性高的,可伸缩性高的,可负载均衡的,支持高并发请求的。面对这些需求,我们在设计服务器的...
  • wgslucky
  • wgslucky
  • 2016年09月24日 20:37
  • 8756

四种多服务器共享session的方法

伴随网站业务规模和访问量的逐步发展,原本由单台服务器、单个域名的迷你网站架构已经无法满足发展需要。 此时我们可能会购买更多服务器,并且启用多个二级子域名以频道化的方式,根据业务功能将网站分布...
  • wjc19911118
  • wjc19911118
  • 2015年08月26日 11:08
  • 1476

游戏服务器架构发展史

手游页游和端游,本质上没有区别,区别的是游戏类型:   类型1:卡牌,跑酷等弱交互服务端   卡牌跑酷类因为交互弱,玩家和玩家之间不需要实时面对面PK,打一下对方的离线数据,计算下排行榜,买卖下道...
  • u010852160
  • u010852160
  • 2016年07月15日 13:40
  • 1778

基于Socket的游戏服务器通信框架的设计与实现

博客地址:blog.liujunliang.com.cn开发工具:VS2017、Unity2017本文介绍使用Socket/TCP来开发客户端与服务器端通信框架博主使用过PhotonServer,由于...
  • qq_33747722
  • qq_33747722
  • 2017年11月13日 09:19
  • 218

网游服务器框架(2)Stream

为了方便序列化数据,特建立了InputStream  和 outStream 2种数据容器。 每个流在初始化的时候。都带有字节序属性, 在写入和读取的时候,先处理再返回,这样逻辑部分可以解决字节序等...
  • frodo_sens
  • frodo_sens
  • 2013年12月04日 22:11
  • 493

从零开始编写网游服务器-第一篇:服务器设计

从事游戏开发已经有几年了,虽然平时的工作以编写
  • leecrest
  • leecrest
  • 2014年04月27日 16:45
  • 1103

Node.js之网游服务器实践

随着Node.js的不断发展与壮大,应用范围也越来越广泛,从传统的企业应用,到互联网使用,再到云计算的发展,它的身影也是随处可见。当然,它的受欢迎程度能在短时间内得到这么快的发展,除却与其本身的事件模...
  • justdo2008
  • justdo2008
  • 2017年04月25日 16:27
  • 423

【服务器架构】10万在线的WebGame的架构设计思路

服务器数量预估 在线人数预估: 在项目设计之前,需要先对运营后的服务器人数做一下预估,预计激活人数300w,活跃人数40w,同时在线10w。而服务器的设计极限则在激活人数500w,活跃人数60w,...
  • huodianyan
  • huodianyan
  • 2014年07月24日 00:44
  • 879
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:网游服务器框架(1)Session
举报原因:
原因补充:

(最多只允许输入30个字)