leaf源码分析(三)----gate和network

本文详细分析了Leaf游戏服务器框架中的gate和network模块,包括TCP消息处理、MsgParser的工作流程、TCP连接封装以及TCP服务器的启动过程。通过对Conn接口、TCPConn实现、Processor的路由和序列化功能的探讨,揭示了Leaf如何高效地处理游戏服务器的接入和通信。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文公众号链接为:https://mp.weixin.qq.com/s/ClTgY-S7hLfirWo_-SvEIA

 

 

 

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

 

Gate 模块为Leaf提供接入功能。这个模块的功能很重要,是服务器的入口。它能同时监听TcpSocket和WebSocket。主要流程是在接入连接的时候创建一个Agent,并将这个Agent通知给AgentRpc。其核心其实是一个TcpServer和WebScoketServer,他的协议函数能够将socket字节流分包,封装为Msg传递给Agent。其工作流可以查看Server模块。

 

那么gate,network,skeleton的主要用法关系如下

 

skeleton的用法已经讲解过了

leaf源码分析(一)----chanrpc

leaf源码分析(二)----skeleton

 

下面先讲讲gate、network各个模块

 

tcp msg

 

github.com/name5566/leaf/network/tcp_msg.go

msg是对数据的封装

MsgParser

 

len + data模式

lenMsgLen    int                    len的字节长度
minMsgLen    uint32              最小msg长度
maxMsgLen    uint32             最大msg长度
littleEndian bool                    大小端

NewMsgParser

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值