手游服务端框架之使用Redis实现跨服排行榜

游戏里经常有各种各样的排行榜。排行榜又可以分为本服排行榜以及跨服排行榜。本文介绍如何利用Redis的SortedSet数据结构,实现多级排行榜。...
阅读(230) 评论(0)

手游服务端框架之每日重置逻辑

大部分游戏都有每日重置的逻辑。关于每日重置,我们需要考虑两个问题。一个是如何区别在线玩家和离线玩家,一个是保证业务的线程安全的。本文提供一种方式,比较简单地实现了重置业务。...
阅读(163) 评论(3)

手游服务端框架之客户端协议组合下发

有时一个客户端请求,服务端可能需要下发多个响应消息。针对这种情况,比较好的优化方式是整合多个小消息一起下发。也就是说,对于多个消息,我们不直接一个一个下发,而是把多个消息看作一个特殊的消息组合下发。...
阅读(546) 评论(0)

手游服务端框架之后台管理工具

对于生产环境的游戏进程,我们必须有工具能够对游戏服务进行维护,例如更新维护,或者对游戏内部各种资源进行管理。典型地,完成这种任务的系统被称为后台管理工具。本文将使用http服务来构建一个后台管理服务的接口。...
阅读(741) 评论(0)

手游服务端框架之使用事件驱动模型解决业务高耦合

游戏里经常有这样的业务,当玩家触发某个动作时,有若干与之关联的业务也要一起执行。诸如这样场景,我们选择引入事件驱动模型来帮助我们解决业务代码耦合的问题。本文实现一个工具库,来解决监听器与事件多对多的关联问题。...
阅读(450) 评论(0)

Netty网络聊天室之使用spring管理各种组件

spring是web开发的宠儿,不管mvc框架选择structs还是SpringMVC,IOC容器都是选择Spring。Spring有两个主要的作用,一个是IOC(依赖反转),另一个是AOP(面向切面编程)。在我们的聊天室,我们也将使用Spring容器来管理各种组件。...
阅读(290) 评论(0)

Netty网络聊天室之会话管理

浏览器第一次与服务器建立连接的时候,服务器就会自动为之分配一个Session。在我们的聊天室,也可以使用Session来判断用户是否经过登录验证,保存用户的各种信息,向客户端发送消息。这极大方便了程序对客户端的管理。...
阅读(3091) 评论(10)

手游服务端框架之GM金手指的设计

游戏开发需要一些命令,能够像金山游侠这种软件一样,修改游戏里的玩家或公共服务的数据。在游戏项目里,这些命令统称为GM命令。本文将介绍实现gm系统的一种方式。...
阅读(483) 评论(0)

手游服务端框架之使用Guava构建缓存系统

缓存,在项目中的应用非常之广泛。诸如这样的场景,某些对象计算或者获取的代码比较昂贵,并且在程序里你不止一次要用到这些对象,那么,你就应该使用缓存。缓存,在项目中的应用非常之广泛。诸如这样的场景,某些对象计算或者获取的代码比较昂贵,并且在程序里你不止一次要用到这些对象,那么,你就应该使用缓存。...
阅读(443) 评论(0)

手游服务端框架之配置与玩家数据库设计

一款网络游戏的设计,至少需要策划数据库和用户数据库两种数据库。本文主要介绍这两种数据库的设计及使用,同时,介绍如何通过ORM框架来完成玩家数据的持久化。...
阅读(1649) 评论(2)

手游服务端框架之消息线程模型

玩家的消息请求如果放在mina的io线程池进行处理,当业务处理非常耗时,会严重影响io的吞吐量。所以,我们应该另起用于处理业务逻辑的线程池,采用生产者消费者模型,异步处理玩家请求。...
阅读(1746) 评论(2)

手游服务端框架之模仿SpringMvc处理玩家请求

经典web开发项目通常采用三层架构来组织代码。典型的,第一层为表现层,通常使用MVC模式;第二层为业务逻辑层,该层主要是各种service业务操作类;第三层则为数据访问层。类似的,我们的游戏项目也可以采用上面的三层架构,使用Controller注解对应MVC模式的控制器,使用RequestMapper注解对应的消息处理。...
阅读(790) 评论(0)

手游服务端框架之网关

游戏服务器的网关,主要是用于手机客户端与游戏业务服务端通信的中转器,负责接收来自手机客户端的请求协议,以及推送服务端的响应包。在建立socket连接之后,服务端需要知道客户端发来的数据流是什么含义,同时,客户端也要能知道服务端推送的数据内容。这便有了消息编码器解码器的设计。...
阅读(1410) 评论(2)

自定义orm框架解决玩家数据持久化问题

使用持久化框架诸如Hibernate过于重量级,使用原生jdbc又显得非常啰嗦。本文通过几百行代码,演示一个轻量级的持久化框架。可以用于游戏服务端的数据持久化方案。...
阅读(2748) 评论(0)

细数jdk库的四宗罪

众所周知,jdk库非常庞大,有非常多精心设计的工具可以拿来用;而且,jdk版本的向下兼容性也做得非常好,升级版本对旧项目来说没多大困难。由于这两点原因,jdk不可避免地存在一些设计上的缺陷。为了保障旧项目开发的利益,这些设计缺陷只能随着众多版本被继承下来。个人总结了一下JDK设计里出现的“四宗罪”,算是一种反面教材,在平时自己的开发设计上应该避免。...
阅读(451) 评论(0)
22条 共2页1 2 下一页 尾页
    个人资料
    • 访问:118878次
    • 积分:1625
    • 等级:
    • 排名:千里之外
    • 原创:41篇
    • 转载:0篇
    • 译文:0篇
    • 评论:39条
    博客专栏
    最新评论