3.3 Zinx-V0.3-集成简单路由功能
A) IServer增添路由添加功能
我们需要给IServer类,增加一个抽象方法AddRouter,目的也是让Zinx框架使用者,可以自定一个Router处理业务方法。
zinx/ziface/irouter.go
package ziface
//定义服务器接口
type IServer interface{
//启动服务器方法
Start()
//停止服务器方法
Stop()
//开启业务服务方法
Serve()
//路由功能:给当前服务注册一个路由业务方法,供客户端链接处理使用
AddRouter(router IRouter)
}B) Server类增添Router成员
有了抽象的方法,自然Server就要实现,并且还要添加一个Router成员.
zinx/znet/server.go
然后NewServer()方法, 初始化Server对象的方法也要加一个初始化成员
C) Connection类绑定一个Router成员
zinx/znet/connection.go
D) 在Connection调用注册的Router处理业务
zinx/znet/connection.go
这里我们在conn读取完客户端数据之后,将数据和conn封装到一个Request中,作为Router的输入数据。
然后我们开启一个goroutine去调用给Zinx框架注册好的路由业务。
Last updated
Was this helpful?