go-study/zinx/znet/server_test.go
2025-09-13 21:08:45 +08:00

53 lines
928 B
Go

package znet
import (
"fmt"
"net"
"testing"
"time"
)
// ClientTest 模拟客户端
func ClientTest() {
fmt.Println("Client Test... start")
// 3s 之后发起测试请求,给服务器端开启服务的机会
time.Sleep(3 * time.Second)
conn, err := net.Dial("tcp", "127.0.0.1:7777")
if err != nil {
fmt.Println("client dial err:", err)
return
}
for {
_, err := conn.Write([]byte("hello Zinx"))
if err != nil {
fmt.Println("write error:", err)
return
}
buf := make([]byte, 512)
cnt, err := conn.Read(buf)
if err != nil {
fmt.Println("read buf error:", err)
return
}
fmt.Printf("server call back: %s, cnt = %d\n", string(buf[:cnt]), cnt)
time.Sleep(1 * time.Second)
}
}
// TestServer 服务器端测试
func TestServer(t *testing.T) {
// 创建一个 Server 句柄
s := NewServer("[Zinx V0.1]")
// 启动客户端测试
go ClientTest()
// 启动服务器
s.Serve()
}