vRp.CD2g_test/server/server_test.go

45 lines
1.0 KiB
Go

package server_test
import (
"fmt"
"github.com/kercylan98/minotaur/server"
"github.com/kercylan98/minotaur/server/client"
"github.com/kercylan98/minotaur/utils/times"
"sync/atomic"
"testing"
"time"
)
func TestNew(t *testing.T) {
srv := server.New(server.NetworkWebsocket, server.WithMessageBufferSize(1024*1024), server.WithPProf())
srv.RegConnectionReceivePacketEvent(func(srv *server.Server, conn *server.Conn, packet []byte) {
conn.Write(packet)
})
if err := srv.Run(":9999"); err != nil {
panic(err)
}
}
func TestNewClient(t *testing.T) {
var total atomic.Int64
for i := 0; i < 1000; i++ {
cli := client.NewWebsocket("ws://127.0.0.1:9999")
cli.RegConnectionReceivePacketEvent(func(conn *client.Client, wst int, packet []byte) {
fmt.Println(string(packet))
})
cli.RegConnectionOpenedEvent(func(conn *client.Client) {
go func() {
for {
cli.WriteWS(2, []byte("hello"))
total.Add(1)
}
}()
})
if err := cli.Run(); err != nil {
panic(err)
}
}
time.Sleep(times.Week)
}