rpc框架的优势

直接使用rpc框架来搭建跨服,我们就无需考虑跨服链路的建立,通信数据编解码,方法回调等底层问题。

手写跨服通信

rpc的本质其实就是跨服通信,底层是使用socket来进行数据传输的。所以我们也可以使用socket来手写一个跨服通信。
服务器与服务器之间点对点的通信,其实类似于游戏客户端与游戏服务器通信。不同的是,游戏客户端与服务器属于外部网络通信,需要走公共ip,是不安全的链接;而服务器与服务器的通信,属于内部通信,可以直接用内网ip进行通信。
实现跨服通信,我们需要解决以下问题:

  1. 注册跨服端口,接受其他游戏进程的连接
  2. 跨服通信传输协议
  3. 跨服链接池
  4. 跨服断线重连
  5. 跨服消息回调

幸运的是,前2个问题实现非常简单。因为不管是面向玩家的游戏服务器,或者是面向其他游戏服务器的跨服服务器,本质都是socket。其链路建立,消息格式都可以设计成一模一样,所以我们可以直接把游戏服那一套拿来用。
示例代码如下:

public class CrossServer implements ServerNode {<

游戏服务器框架之跨服(二)相关推荐

  1. 游戏服务器框架之跨服(一)

    如今的游戏开发,不搞个跨服玩法都不好意思说在做游戏了(当然,也跟游戏类型有关,一些轻度休闲游戏可以排除在外).跨服玩法的设计,可以进一步激发玩家追求高战力的虚荣心,也可以汇聚玩家数量,避免单服日活跃低 ...

  2. 游戏服务器框架之跨服(三)

    跨服回调 回调设计是跨服基础的一个设计难点.类似于JavaScript的Ajax请求,我们希望在向跨服发送请求,拿到服务器的返回结果后能够执行一些回调动作. 如果使用Rpc框架,那么回调API看起来就 ...

  3. 开源游戏服务器框架NoahGameFrame(NF)服务器端环境搭建(二)

    一.下载NoahGameFrame 1.进入到开源游戏服务器框架NoahGameFrame在GitHub的官方界面NoahGameFrame 2.复制要Checkout的资源目录URL 3.在任意一个 ...

  4. 游戏服务器框架概括分析

    游戏服务器框架概括分析 关注公众号 风色年代(itfantasycc) 500G游戏开发资料随便拿! 这篇blog题目涉及的范围真大!以至于在这里需要先写一篇前言把范围缩小.选择写这样一个系列的文章, ...

  5. 高性能分布式游戏服务器框架

    欢迎大家Fork mqant开源框架 为什么决定要重新造一个轮子? 目前网上优秀的开源游戏服务器框架也不少(当然与web框架比起来就少太多了),但总结起来都各有各的优缺点,下面列出我在选型过程中的一些 ...

  6. golang Leaf 游戏服务器框架简介

    Leaf 是一个由 Go 语言(golang)编写的开发效率和执行效率并重的开源游戏服务器框架.Leaf 适用于各类游戏服务器的开发,包括 H5(HTML5)游戏服务器. Leaf 的关注点: 良好的 ...

  7. golang的开源游戏服务器框架

    golang的游戏服务器框架有leaf, cellnet, mqant等. 一. 选择 cellnet好像使用callback回调方式, 直接pass. mqant使用了mqtt协议, 感觉写了太多, ...

  8. 开源游戏服务器框架NoahGameFrame(NF)简介(一)

    本文介绍的知识点很多都是来自于官方:NoahGameFrame(NF)官网.点击链接如果没用的话,可以在GitHub上搜索NoahGameFrame. 一.NoahGameFrame是什么? Noah ...

  9. 开源游戏服务器框架NoahGameFrame(NF)客户端环境搭建(三)

    一.下载NoahGameFrame框架的客户端 1.进入到开源游戏服务器框架NoahGameFrame的客户端NFUnitySDK在GitHub官方界面NFUnitySDK 2.复制要Checkout ...

最新文章

  1. 草根seo站长利用网站赚钱的方法
  2. 一文读懂汇编程序的多个分段的程序--详解
  3. linux下java命令行参数_Java调用Linux命令行
  4. div+css+js 树形菜单
  5. php变量的判空和类型判断
  6. 【并查集】打击犯罪(ssl 2342)
  7. Python pyppeteer通过cookie获取数据(cookie爬虫)
  8. 29 SD配置-主数据-信用管理-分配订单类型的信贷控制
  9. php软件开发--公众平台
  10. win11玩游戏怎么样 windows11玩游戏的具体性能介绍
  11. python time sleep 阻塞 异步_Python Tornado异步请求被阻塞
  12. 《码出高效:Java开发手册》百度网盘下载
  13. cocos2dx 3.16 VS+BabeLua lua环境配置与代码调试
  14. 万年历,java如何实现日历查询
  15. 信息系统项目管理师(第1章)
  16. 基于.net5.0常用开源组件Xman
  17. OpenCvSharp函数:Dilate膨胀、GetStructuringElement获取形态操作的结构元素、Erode腐蚀
  18. 一种基于陀螺仪传感器的准确计步器算法
  19. 语音合成学习(一)综述
  20. 江西财经大学第二届程序设计竞赛同步赛----E-是不是复读机

热门文章

  1. Android Studio Arctic Fox gradle 配置
  2. 2021京东Java面试真题:杭州java工资
  3. 2024北京航空航天大学计算机考研信息汇总
  4. 数据从业者的一次“典型”面试
  5. cdns个人博客asp_实学:Java开发自己的博客系统-第十三篇(静态资源和后台模板)...
  6. 在线新闻推荐网 Python+Django+Mysql开发技术 基于用户、物品的协同过滤推荐算法 个性化新闻推荐系统 协同过滤推荐算法在新闻网站中的运用 个性化推荐算法、机器学习、分布式大数据、人工智
  7. [九鼎RK3399Pro] Android 8.1 系统定制给用户root权限
  8. ECMAScript渡一教育JavaScript精英课堂笔记 姬成
  9. 百度站长平台使用教程:流量与关键词
  10. 转:程序猿也爱学英语