路由

1. 包结构

Len ID Data
uint32 uint32 len
Data的长度 包的ID(请求类型) bytes数据(大小为前面的Len)

框架会自动解析数据包,解决粘包并且将数据和ID放入消息管理中

2. 路由

Knet路由有三种:

server.Before(1,func(q IRequest){ //ID为请求TLV中的ID,func中则为此请求的业务方法
    ...
})
server.On(1,func(q IRequest){ //ID为请求TLV中的ID,func中则为此请求的业务方法
    ...
})
server.After(1,func(q IRequest){ //ID为请求TLV中的ID,func中则为此请求的业务方法
    ...
})

三种路由都是可选的,运行顺序为 Before->On->After

3. 中间件

这里的中间件为全局中间件,如要使用路由中间件可用Before路由

server.Use(func(q IRequest){
    ...
})

results matching ""

    No results matching ""