package gameserver import ( "net" "time" ) // testUDPConn wraps a UDP socket for the smoke test client. type testUDPConn struct { conn *net.UDPConn addr *net.UDPAddr } func dialUDP(serverAddr string) (*testUDPConn, error) { server, err := net.ResolveUDPAddr("udp", serverAddr) if err != nil { return nil, err } conn, err := net.ListenUDP("udp", &net.UDPAddr{IP: net.IPv4(127, 0, 0, 1)}) if err != nil { return nil, err } return &testUDPConn{conn: conn, addr: server}, nil } func (c *testUDPConn) write(data []byte) (int, error) { return c.conn.WriteToUDP(data, c.addr) } func (c *testUDPConn) read() ([]byte, error) { buf := make([]byte, 65536) n, _, err := c.conn.ReadFromUDP(buf) if err != nil { return nil, err } return buf[:n], nil } func (c *testUDPConn) setReadDeadline(t time.Time) { _ = c.conn.SetReadDeadline(t) }