考虑到现在的游戏服务器是在多CPU上运行的,为了更好的利用多CPU的功能,设想是将游戏中与逻辑关系不是很大的聊天部分分离出来,成为一个单独的服务器,从而提高游戏的业务处理速度,并且能充分利用CPU资源。

聊天分离后做成一个聊天服务器,使用的策略是用空间换时间。会将所用到的相关数据都放入共享内存中,使用KEY值进行查找/增加/删除。

通常的聊天服务器按聊天的类型可以分为:

全服, 国家,  地图,  同屏,  好友,  组队, 帮派,私聊

其中,对于地图,好友,帮派聊天消息,通过已建好的映射表,就可以快速分发聊天内容。

对于全服聊天消息,将聊天服务器上所有的角色都通知一遍就可以了。不用特殊处理。

对于对于国家聊天消息,如果国家数较少,可以使用循环查找的方法,找到相同的国家的角色则进行通知,否则跳过。

对于对于同屏,组队,私聊的聊天消息,可以通过由client上带相关角色的KEY值,聊天服务器通过查找KEY值进行快速分发聊天内容。

实现:

client在成功登陆游戏逻辑服务器后,聊天服务器会与client进行TCP长连接。这样client就就可以通过此TCP连接进行聊天消息的发送/接收了。

数据同步方面,有两种方法,因为聊天服务器与游戏逻辑服务器之间有TCP连接,所以可以通过此TCP进行数据的同步(安全,需要消耗游戏逻辑服务器的资源)。另一种方法是通过client与聊天服务器之间TCP连接进行数据同步(高效,但不安全,因为不用经过游戏逻辑服务器进行处理)

网游中将聊天部分与游戏逻辑分离相关推荐

  1. 设计新一代的网游——第三章(游戏概况)

    游戏概况 现今网游,大多沿袭西方和泡菜的中世纪理念,既人出生就决定了一个人的职业:如战士,法师等等,这也是与中国传统极其不符的.出生就拿个大刀砍来砍去一直到死,是广大玩家所不能接受的.所谓的职业,就是 ...

  2. 网游巨头布局手机游戏:处于摸索阶段 多从PC端移植

    最近学了HTML5游戏开发,玩了几个国内厂商开发的html5页游,用户体验还可以,还是以道具收费的方式运营.在国内的游戏产业想要赚钱,基本还是得靠体验免费.道具收费的方式来赚钱,这一点,Android ...

  3. 手机网游是移动应用的第一个热潮——武春雷专访

    记者 / 长生 掌上明珠,是中国本土最为成功的手机网游公司之一,从2003年初创时的20多人,到现在近400人的团队,掌上明珠在移动互联网的大潮里,取得了飞速增长.8年间他们开发了近百款手机游戏及应用 ...

  4. 网游如何防外挂篡改数据——客户端内存加密

    题记: 以前玩过pc单机游戏的同学,相信对金山游侠这款作弊修改器一定不陌生,玩家通过修改器可以轻松地定位.修改游戏里的关键变量,如boss血量,金钱,主角战力等数据,轻松制霸游戏.作弊修改器的原理非常 ...

  5. 尝试 对网游私人服务器架设的一些接触

    前端时间接触到了一些私人服务器游戏,因为自己本身喜欢玩游戏,无论单机还是网游都会有收费的游戏道具,所以之前总是会去各种论坛去寻找破解版和私人服务器.事情的起因就是这样的但是对于网络游戏无论私人还是官方 ...

  6. 扎实走来的2D网游与突飞猛进的3D网游

    扎实走来的2D网游与突飞猛进的3D网游 从文字MUD到以画面形式表现的2D图形网游,我们经历了网络游戏的两个时代.随后出现的<奇迹>.<仙境传说>等2D+3D的混合模式即2.5 ...

  7. [原创]从魔兽世界看网游产业。。。 。。。

    这几天忙一些乱七八糟的事情,忙的一塌糊涂,今天终于可以休息一下了.前段时间和寝室的哥们儿一起玩魔兽世界,打算今天再重温一下,"胖子,魔兽世界,带我,快!""都什么年代了, ...

  8. “零世界”与下一代网游

    "零世界"与下一代网游 (文:王英雄) 网游是至今为止互联网上最赚钱的行业,这不只是在互联网行业,在全社会也是最赚钱的行业.网络游戏行业以隔年一个中国首富的速度创造着财富神话.20 ...

  9. 网游加速:互联网的又一个蓝海

    蚂蚁网倒了,SNS再次饱受质疑.与此同时,优酷与酷6的口水仗热火朝天,视频网站盈利同样是争论的焦点.一时间,互联网经济成为了舆论和从业人士关注的焦点.在国内互联网圈子里,网游活得很滋润,门户们也是如鱼 ...

最新文章

  1. Eclipse 导入 Tomcat 源码
  2. 【数理知识】第9章-树-《离散数学及其应用》Kenneth H. Rosen
  3. 网络情况不稳定 无法连接服务器,提示网络正常无法连接服务器
  4. android 自定义分区,android 自定义预制APP分区
  5. 安装mysql无法登录_【windows 下安装 mysql-server 无法登录问题解决】
  6. OpenCV移植到ARM-Linux(Exynos4412)全过程
  7. 为什么在使用超级终端配置交换机时显示乱码或无显示?
  8. js导出excel格式错误的问题
  9. 2020 IJCAI 接受论文 list 分类排列(三)
  10. 串口助手是怎么做出来的 :第一节,串口助手界面的实现及串口通信原理的介绍
  11. TOF相机(Time of Fight Camera)(维基百科全翻译版)
  12. 鼠标悬停放大图片特效
  13. Camera幻灯片参数设置
  14. Python——飞机大战源码(含飞机爆炸效果动图)
  15. 某连锁酒店集团实行积分奖励计划,会员每次入住集团旗下酒店均可以获得一定积分,积分由欢迎积分加消费积分构成。其中欢迎积分跟酒店等级有关,具体标准如表2-1所示;消费积分跟每次入住消费金额有关,具体标准为
  16. nginx配置选项try_files详解
  17. java程序如何解代数方程_基于代数方程库Algebra.js解二元一次方程功能示例
  18. C#上位机(数据校验发送指令来控制下位机)
  19. 【论文笔记】A Survey on Federated Learning: The Journey From Centralized to Distributed On-Site...(综述)
  20. rewrite break

热门文章

  1. 自动感光调节LED灯亮度C语言程序,红外感应LED亮度调节(附单片机程序).doc
  2. 体外诊断(IVD)高速发展
  3. SQL注入漏洞,攻防必杀技!
  4. avr模拟串口通讯c语言,AVR简单的串口通信程序
  5. 【Codeforces 803 C. Maximal GCD】
  6. [附源码]Python计算机毕业设计SSM教务排课管理系统(程序+LW)
  7. 计算机联锁系统的可靠性研究,计算机联锁系统可靠性研究
  8. 跟我学Kafka之Controller控制器详解(一)
  9. laravel 几种第三方接口
  10. idea 2021.3 启动不了