eq2go/internal/udp/example_test.go

41 lines
771 B
Go

package udp
import (
"fmt"
"testing"
"time"
)
type TestHandler struct{}
func (h *TestHandler) HandlePacket(conn *Connection, packet *ApplicationPacket) {
fmt.Printf("Received packet - Opcode: 0x%04X, Data length: %d\n",
packet.Opcode, len(packet.Data))
// Echo back a response
response := &ApplicationPacket{
Opcode: OpLoginReplyMsg,
Data: []byte("Hello from server"),
}
conn.SendPacket(response)
}
func TestServer(t *testing.T) {
handler := &TestHandler{}
server, err := NewServer(":9999", handler)
if err != nil {
t.Fatalf("Failed to create server: %v", err)
}
go func() {
if err := server.Start(); err != nil {
t.Errorf("Server error: %v", err)
}
}()
// Let it run for a bit
time.Sleep(100 * time.Millisecond)
server.Stop()
}