游戏服务器使用 UDP 协议的特点
游戏服务器使用 UDP 协议的特点:一般来说 UDP 是无连接的,但是对于游戏来说,是肯定需要有明确的客户端的,所以就不能简单用一个 UDP socket 的fd 来代表客户端,这就造成了上层的代码无法简单在 UDP 和 TCP 之间保持一致。因此游戏服务器这里使用 Peer 这个抽象层,正好可以接近这个问题。这也可以用于那些使用某种消息队列中间件的情况,因为可能这些中间件,也是多路复用一个 fd 的,甚至可能就不是通过使用 fd 的 API 来开发的。
对于 Transport 定义,对于 TCP 的实现者来说,是非常容易能完成的。但是对于 UDP 的实现者来说,则需要考虑如何宠妃利用 Peer ,特别是 Peer.fd_ 这个数据。我在实现的时候,使用了一套虚拟的 fd 机制,通过一个客户端的 IPv4 地址到 int 的对应 Map ,来对上层提供区分客户端的功能。在 Linux 上,这些 IO 都可以使用 epoll 库来实现,在 Peek() 函数中读取 IO 事件,在 Read()/Write() 填上 socket 的调用就可以了。另外,为了实现游戏服务器之间的通信,还需要设计和 Tansport 对应的一个类型:Connector 。这个抽象基类,用于以客户端模型对服务器发起请求。其设计和 Transport 大同小异。除了 Linux 环境下的 Connecotr ,我还实现了在 C# 下的代码,以便用 Unity 开发的客户端可以方便的使用。由于游戏服务器 .NET 本身就支持异步模型,所以其实现也不费太多功夫。【艾娜小编】更多资讯
- 【零基础】搭建V2ray节点,一键搭建X-UI面板,目前最简单、最安全、最稳定的专属节点搭建方法,晚高峰高速稳定,4K秒开的科学上网 2024-10-16 20:08:51
- 为什么国内与国外的网络互通很难实现呢? 2022-03-12 12:51:16
- 日本云服务器选择,日本云服务器网站,日本云服务器排名 2022-03-12 12:51:16
- 站群服务器的作用及选择类型有哪些?新加坡站群服务器租用服务商那家好? 2022-03-12 12:51:16
- 做站群业务应该选择什么样的站群服务器?新加坡站群服务器租用价格一个月多少钱? 2022-03-12 12:51:16
- 逍遥模拟器怎样设置才不会卡顿?逍遥模拟器不流畅怎么解决? 2022-03-12 12:51:16
- 租用传奇服务器多少钱一台?开个传奇服务器每月需要花费多少钱? 2022-03-12 12:51:16
- 网站备案是什么?为什么需要网站备案?网站备案的注意事项有哪些? 2022-03-12 12:51:16
- 香港主机经常遇到的问题有哪些? 2022-03-12 12:51:16
- 香港云手机购买价格一个月多少钱?香港云手机租用配置表! 2022-03-12 12:51:16
- 秀米云菲律宾云服务器代理渠道加盟介绍! 2022-03-12 12:51:16
- 韩国服务器线路速度怎么样?韩国服务器速度测评 2023-07-28 00:27:56
- 韩国服务器KT线路介绍 2023-07-28 00:27:56
- 什么是韩国KT服务器?这条线路的服务器有哪些特点? 2023-07-28 00:27:56
- 手把手教会你,苹果手机iPhone怎样设置TIKTOK文的运营环境,手把手教你怎样运营海外抖音 服务器购买 2024-03-08 08:24:48
- 韩国IP搭建游戏加速服务哪家好,如何获得韩国IP 2023-07-28 00:27:56
- 静态原生IP适合用来批量搭建韩服游戏账号吗 2023-07-28 00:27:56
- 韩国多IP站群服务器一般有多少个IP,如何计算 2023-07-28 00:27:56
- 如何选择合适的站群服务器,提高网站的排名和流量 2024-02-02 12:52:18
- 租用韩国网站服务器时需要关心哪些要素 2023-07-28 00:27:56