上个章节我们简单介绍了下pomelo的安装和目录结构,有读者可能觉得有点吃不消,为什么不再深入讲一讲目录结构和里边的库,这里我就不费口舌了,大家可以去官网参考文档说明,本文只告诉大家如何利用这个框架来开发自己的东西。

随着文章的后续不断推进,我相信大家会越来越熟悉pomelo,对猪场框架的使用也会越来越得心用手。

为什么是聊天服务器?

我们目标是搭建游戏服务器,为什么从聊天开始呢?

聊天可认为是简化的实时游戏,它与游戏服务器有着很多共通之处,如实时性、频道、广播等。由于游戏在场景管理、客户端动画等方面有一定的复杂性,并不适合作为 pomelo 的入门应用。聊天应用通常是 Node.js 入门接触的第一个应用,因此更适合做入门教程。

一个聊天系统我们设计思路是客户端连接gate网关服务器,由gate网关服务器根据玩家的uid的crc32的校验码与connector服务器的个数取余,从而得到一个connector服务器,把这个connector服务器分配给请求用户,那么客户端就可以通过此connector服务器建立连接,而和connector服务器保持连接的是chat逻辑服务器,所有的逻辑处理交给connector发起remote的RPC调用。

新建gate和chat服务器

在app/servers目录下新建gate和chat服务器。

gate服务器:

在一般情况下用户量一台机器就可以支撑,但用户量多了就得横向扩充服务器(在gate服务器之前通过nginx反向代理做端口转发,相关文章可以参考我之前的

(十二)nodejs循序渐进-高性能游戏服务器框架pomelo之创建一个游戏聊天服务器相关推荐

  1. (十四)nodejs循序渐进-高性能游戏服务器框架pomelo之开发Treasures游戏

    #Tutorial 2 -- Treasures ##描述 Treasures 游戏是从 LordOfPomelo 中抽取出来,去掉了大量的游戏逻辑,用以更好的展示 Pomelo 框架的用法以及运作机 ...

  2. (十)nodejs循序渐进-高性能游戏服务器框架pomelo之介绍和安装篇

    目录 Pomelo 安装Pomelo 创建demoserver项目 pomelo命令 项目结构说明 pomelo框架 架构

  3. 网易开源游戏服务器框架-Pomelo实践(一)

    Pomelo是网易开发的一款开源游戏服务器框架,出了做游戏的服务器端,他也可以作为一个高效的网站后台.网址是:http://pomelo.netease.com 其实,他官方的文档是中文的,照理说,我 ...

  4. nodejs 创建一个静态资源服务器 +路由

    0.补充 1.Node.js 创建的第一个应用 1.引入 http 模块 var http = require("http"); 2.创建服务器 接下来我们使用 http.crea ...

  5. iPhone十二年了,多希望这是苹果的一个新轮回!

    [惊奇科技]见证传奇:88秒速览iPhone十二年经典发布瞬间 出品 | 网易手机频道 (油管&B站:惊奇科技 抖音:JQ163) iPhone十二年了,多希望这是苹果的一个新轮回! 十二,在 ...

  6. centos创建文件服务器,创建一个centos云服务器

    创建一个centos云服务器 内容精选 换一换 在不使用华为云容器产品的情况下,支持用户在华为云弹性云服务器中部署容器,并实现同一个子网中不同弹性云服务器内的容器相互通信.云服务器内部署容器,容器地址 ...

  7. 服务器测试文件怎么创建,如何创建一个“FTPS”模拟服务器以单元测试Java中的文件传输...

    我有一个创建FTPS连接的CreateFTPConnection类.使用此连接传输文件.这里是TransferFile类的代码如何创建一个"FTPS"模拟服务器以单元测试Java中 ...

  8. 如何从零开始创建一个游戏团队?

    ##前言 不同规模,不同做法. 做小型独立游戏:1-3个人随便做,没什么必需非必需: 如果正式做:首先做好立项书,然后找合伙人(也可以没有),注册公司,找资金(自己出钱或者找投资),找场地,按需招人, ...

  9. Games104现代游戏引擎入门-lecture3如何构建一个游戏世界

    Games104现代游戏引擎入门-lecture3如何构建一个游戏世界 1 游戏世界的构成 2 无人机案例 3 游戏世界如何动起来 4 如何探索 5 如何管理GO 6 总结 7 Q&A 1 游 ...

最新文章

  1. g120变频器报7490怎么处理_西门子通讯profinet网络下怎么更换G120变频器等部件
  2. Spring-AOP动态代理技术(底层代码)
  3. 单片机应用中的c语言用词注解,单片机C语言程序注解
  4. Android定位(是否使用GPS进行定位)
  5. Axis1.4 在weblogic9.2中报 (401)Unauthorized 的处理
  6. STM32串口通信代码、ASCII码、XU4串口通信,printf只会转换为无符号类型,linux下的串口通信程序
  7. 五年了还在原地踏步咋整?技术大佬给你整理了一套切实可行的方法论
  8. C# 把word转换成txt
  9. ArcGIS矢量数据模型
  10. 思科路由器存储分类介绍
  11. java徽章_java – 设计可插拔的点和徽章系统
  12. jquery vue 替代_vue能代替jquery吗
  13. 网络编程0:网络基础知识
  14. Spring : JdbcTemplate操作数据库(详细)
  15. 学猫叫歌词计算机,学猫叫歌词 小峰峰(陈峰)、小潘潘(潘柚彤)_晴格歌词网
  16. cesium 加载和删除kmz
  17. 推荐系统:冷启动问题【用户冷启动、物品冷启动、系统冷启动】
  18. dede自动排版 php,站长必备:dedecms正文自动排版、伪原创插件
  19. 阿趣课堂丨一作解读,定量代谢组学临床应用
  20. 【Linux】Linux常用快捷键

热门文章

  1. ssh密钥代理转发(ssh agent forwarding)
  2. Linux编程练习 --多线程1--线程创建
  3. java 合并单元格 把数据合并没了_合并单元格
  4. C# 监控字段_监控交换机选择:千兆/百兆/核心/PoE/光纤交换机选型指南
  5. qt int转换成qstring_「QT界面编程实例」创建颜色下拉框并改变窗体颜色(调色板)...
  6. 使用开源工具ELK可视化 Azure NSG日志
  7. 多元有序logistic回归分析_一文详述:观察性研究中的logistic回归分析思路
  8. 后台接收datetime_input上传date日期时间数据到后台报400怎么办?
  9. 【Python CheckiO 题解】Index Power
  10. Selenium 显式等待条件及其含义