package main import ( "encoding/base64" "fmt" "net" "strings" ) func main() { serv, err := net.ListenPacket("udp4", ":8888") serverIP := "1.1.2.2" msg := "clientapi: " + serverIP b64Msg := base64.StdEncoding.EncodeToString([]byte(msg)) if err != nil { panic(err) } defer serv.Close() buff := make([]byte, 2048) for { _, 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(b64Msg)) conn.Close() fmt.Printf("Sending %s to %s\n", b64Msg, addr) } }