You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
42 lines
880 B
42 lines
880 B
package main
|
|
|
|
import (
|
|
"fmt"
|
|
"github.com/aceld/zinx/ziface"
|
|
"github.com/aceld/zinx/znet"
|
|
)
|
|
|
|
//ping test 自定义路由
|
|
type PingRouter struct {
|
|
znet.BaseRouter
|
|
}
|
|
|
|
//Test Handle
|
|
func (this *PingRouter) Handle(request ziface.IRequest) {
|
|
fmt.Println("Call PingRouter Handle")
|
|
//先读取客户端的数据,再回写ping...ping...ping
|
|
fmt.Println("recv from client : msgId=", request.GetMsgID(), ", data=", string(request.GetData()))
|
|
|
|
//回写数据
|
|
/*
|
|
_, err := request.GetConnection().GetTCPConnection().Write([]byte("ping...ping...ping\n"))
|
|
if err != nil {
|
|
fmt.Println("call back ping ping ping error")
|
|
}
|
|
*/
|
|
err := request.GetConnection().SendMsg(1, []byte("ping...ping...ping"))
|
|
if err != nil {
|
|
fmt.Println(err)
|
|
}
|
|
}
|
|
|
|
func main() {
|
|
//创建一个server句柄
|
|
s := znet.NewServer()
|
|
|
|
//配置路由
|
|
s.AddRouter(&PingRouter{})
|
|
|
|
//开启服务
|
|
s.Serve()
|
|
}
|