Documentation ¶
Overview ¶
* User: cr-mao Date: 2023/8/19 03:39 Email: crmao@qq.com Desc: transport.go
Index ¶
Constants ¶
View Source
const ( Gate = "gate" // 网关服 Node = "node" // 节点服 )
集群实例类型
View Source
const ( Shut = 0 // 关闭(节点已经关闭,无法正常访问该节点,默认就是关闭) Work = 1 // 工作(节点正常工作,可以分配更多玩家到该节点) Busy = 2 // 繁忙(节点资源紧张,不建议分配更多玩家到该节点上)暂时没用 Hang = 3 // 挂起(节点即将关闭,正处于资源回收中) 暂时没用 )
State 集群实例状态, (不管啥状态,目前框架层面没有看状态,只要服务注册进去后,就可以被发现,请求分发 )
View Source
const ( Connect = 1 // 打开连接 , 暂时没用 Reconnect = 2 // 断线重连 node通知绑定网关,则 Disconnect = 3 // 断开连接 )
Event 事件
Variables ¶
View Source
var EventNames = map[int32]string{ Connect: "connect", Reconnect: "reconnect", Disconnect: "disconnect", }
Functions ¶
This section is empty.
Types ¶
type DeliverArgs ¶
type GateClient ¶
type GateClient interface { // Bind 绑定用户与连接 Bind(ctx context.Context, cid, uid int64) (miss bool, err error) // Unbind 解绑用户与连接 Unbind(ctx context.Context, uid int64) (miss bool, err error) // GetIP 获取客户端IP GetIP(ctx context.Context, kind session.Kind, target int64) (ip string, miss bool, err error) // Push 推送消息 Push(ctx context.Context, kind session.Kind, target int64, message *packet.Message) (miss bool, err error) // Multicast 推送组播消息 Multicast(ctx context.Context, kind session.Kind, targets []int64, message *packet.Message) (total int64, err error) // Broadcast 推送广播消息 Broadcast(ctx context.Context, kind session.Kind, message *packet.Message) (total int64, err error) // Stat 统计会话总数 Stat(ctx context.Context, kind session.Kind) (total int64, err error) // Disconnect 断开连接 Disconnect(ctx context.Context, kind session.Kind, target int64, isForce bool) (miss bool, err error) }
type GateProvider ¶
type GateProvider interface { // Bind 绑定用户与网关间的关系 Bind(ctx context.Context, cid, uid int64) error // Unbind 解绑用户与网关间的关系 Unbind(ctx context.Context, uid int64) error // GetIP 获取客户端IP地址 GetIP(ctx context.Context, kind session.Kind, target int64) (ip string, err error) // Push 发送消息(异步) Push(ctx context.Context, kind session.Kind, target int64, message *packet.Message) error // Multicast 推送组播消息(异步) Multicast(ctx context.Context, kind session.Kind, targets []int64, message *packet.Message) (total int64, err error) // Broadcast 推送广播消息(异步) Broadcast(ctx context.Context, kind session.Kind, message *packet.Message) (total int64, err error) // Stat 统计会话总数 Stat(ctx context.Context, kind session.Kind) (total int64, err error) // Disconnect 断开连接 Disconnect(ctx context.Context, kind session.Kind, target int64, isForce bool) error }
type NodeClient ¶
type NodeClient interface { // Trigger 触发事件 Trigger(ctx context.Context, args *TriggerArgs) (miss bool, err error) // Deliver 投递消息 Deliver(ctx context.Context, args *DeliverArgs) (miss bool, err error) }
type NodeProvider ¶
type NodeProvider interface { // Trigger 触发事件 Trigger(ctx context.Context, args *TriggerArgs) (miss bool, err error) // Deliver 投递消息 Deliver(ctx context.Context, args *DeliverArgs) (miss bool, err error) }
Directories ¶
Path | Synopsis |
---|---|
* User: cr-mao Date: 2023/8/19 10:06 Email: crmao@qq.com Desc: constant.go
|
* User: cr-mao Date: 2023/8/19 10:06 Email: crmao@qq.com Desc: constant.go |
* User: cr-mao Date: 2023/8/19 20:16 Email: crmao@qq.com Desc: config_const.go
|
* User: cr-mao Date: 2023/8/19 20:16 Email: crmao@qq.com Desc: config_const.go |
Click to show internal directories.
Click to hide internal directories.