package main import ( "fmt" "net" "strings" ) func main() { serv, err := net.ListenPacket("udp4", ":8888") if err != nil { panic(err) } defer serv.Close() buff := make([]byte, 2048) for { n, addr, err := serv.ReadFrom(buff) if err != nil { panic(err) } remoteAddr := strings.Split(addr.String(), ":") remote, err := net.ResolveUDPAddr("udp4", remoteAddr[0] + ":8850") if err != nil { panic(err) } conn, _ := net.DialUDP("udp4", nil, remote) defer conn.Close() conn.Write([]byte("Hello")) conn.Close() fmt.Printf("%s sent this: %s\n", addr, buff[:n]) } }