50 lines
1.1 KiB
50 lines
1.1 KiB
package main
|
|
|
|
import (
|
|
"fmt"
|
|
"github.com/aceld/zinx/ziface"
|
|
"github.com/aceld/zinx/znet"
|
|
)
|
|
|
|
//ping test 自定义路由
|
|
type PingRouter struct {
|
|
znet.BaseRouter
|
|
}
|
|
|
|
//Test PreHandle
|
|
func (this *PingRouter) PreHandle(request ziface.IRequest) {
|
|
fmt.Println("Call Router PreHandle")
|
|
_, err := request.GetConnection().GetTCPConnection().Write([]byte("before ping ....\n"))
|
|
if err != nil {
|
|
fmt.Println("call back ping ping ping error")
|
|
}
|
|
}
|
|
|
|
//Test Handle
|
|
func (this *PingRouter) Handle(request ziface.IRequest) {
|
|
fmt.Println("Call PingRouter Handle")
|
|
_, err := request.GetConnection().GetTCPConnection().Write([]byte("ping...ping...ping\n"))
|
|
if err != nil {
|
|
fmt.Println("call back ping ping ping error")
|
|
}
|
|
}
|
|
|
|
//Test PostHandle
|
|
func (this *PingRouter) PostHandle(request ziface.IRequest) {
|
|
fmt.Println("Call Router PostHandle")
|
|
_, err := request.GetConnection().GetTCPConnection().Write([]byte("After ping .....\n"))
|
|
if err != nil {
|
|
fmt.Println("call back ping ping ping error")
|
|
}
|
|
}
|
|
|
|
func main() {
|
|
//创建一个server句柄
|
|
s := znet.NewServer()
|
|
|
|
//配置路由
|
|
s.AddRouter(&PingRouter{})
|
|
|
|
//开启服务
|
|
s.Serve()
|
|
}
|