improve gtcp

This commit is contained in:
John
2019-06-03 23:53:59 +08:00
parent 6ac437a3a5
commit 00a8ef63b6
13 changed files with 138 additions and 95 deletions

View File

@ -40,21 +40,21 @@ func main() {
case "doexit": onServerDoExit(conn, msg)
case "heartbeat": onServerHeartBeat(conn, msg)
default:
glog.Errorfln("invalid message: %v", msg)
glog.Errorf("invalid message: %v", msg)
break
}
}
}
func onServerHello(conn *gtcp.Conn, msg *types.Msg) {
glog.Printfln("hello response message from [%s]: %s", conn.RemoteAddr().String(), msg.Data)
glog.Printf("hello response message from [%s]: %s", conn.RemoteAddr().String(), msg.Data)
}
func onServerHeartBeat(conn *gtcp.Conn, msg *types.Msg) {
glog.Printfln("heartbeat from [%s]", conn.RemoteAddr().String())
glog.Printf("heartbeat from [%s]", conn.RemoteAddr().String())
}
func onServerDoExit(conn *gtcp.Conn, msg *types.Msg) {
glog.Printfln("exit command from [%s]", conn.RemoteAddr().String())
glog.Printf("exit command from [%s]", conn.RemoteAddr().String())
conn.Close()
}

View File

@ -36,10 +36,10 @@ func main() {
}
func onClientHello(conn *gtcp.Conn, msg *types.Msg) {
glog.Printfln("hello message from [%s]: %s", conn.RemoteAddr().String(), msg.Data)
glog.Printf("hello message from [%s]: %s", conn.RemoteAddr().String(), msg.Data)
funcs.SendPkg(conn, msg.Act, "Nice to meet you!")
}
func onClientHeartBeat(conn *gtcp.Conn, msg *types.Msg) {
glog.Printfln("heartbeat from [%s]", conn.RemoteAddr().String())
glog.Printf("heartbeat from [%s]", conn.RemoteAddr().String())
}

View File

@ -32,7 +32,7 @@ func main() {
defer conn.Close()
for i := 0; i < 10000; i++ {
if err := conn.SendPkg([]byte(gconv.String(i))); err != nil {
glog.Error(err)
glog.Error(err.Error())
}
time.Sleep(1*time.Second)
}

View File

@ -0,0 +1,39 @@
package main
import (
"fmt"
"github.com/gogf/gf/g/net/gtcp"
"github.com/gogf/gf/g/os/glog"
"github.com/gogf/gf/g/util/gconv"
"time"
)
func main() {
// Server
go gtcp.NewServer("127.0.0.1:8999", func(conn *gtcp.Conn) {
defer conn.Close()
for {
data, err := conn.RecvPkg(gtcp.PkgOption{MaxSize : 1})
if err != nil {
fmt.Println(err)
break
}
fmt.Println("RecvPkg:", string(data))
}
}).Run()
time.Sleep(time.Second)
// Client
conn, err := gtcp.NewConn("127.0.0.1:8999")
if err != nil {
panic(err)
}
defer conn.Close()
for i := 0; i < 10000; i++ {
if err := conn.SendPkg([]byte(gconv.String(i))); err != nil {
glog.Error(err)
}
time.Sleep(1*time.Second)
}
}

View File

@ -21,7 +21,7 @@ func main() {
}
info := &types.NodeInfo{}
if err := json.Unmarshal(data, info); err != nil {
glog.Errorfln("invalid package structure: %s", err.Error())
glog.Errorf("invalid package structure: %s", err.Error())
} else {
glog.Println(info)
conn.SendPkg([]byte("ok"))