路由
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){
...
})