package TPLinkClient import ( "fmt" "net" "time" ) func sendPacket(packet []byte) { addr, err := net.ResolveUDPAddr("udp", "255.255.255.255:29808") if err != nil { fmt.Println("Could not resolve UDP addr") return } conn, err := net.DialUDP("udp", nil, addr) if err != nil { fmt.Println("Failed to dial UDP") return } defer conn.Close() conn.Write(packet) } func recvPacket(buf *[]byte) int { listen_addr, err := net.ResolveUDPAddr("udp", "255.255.255.255:29809") if err != nil { fmt.Println("Could not resolve UDP addr") return -1 } listener, err := net.ListenUDP("udp", listen_addr) if err != nil { fmt.Println("Failed to dial UDP") return -1 } defer listener.Close() // Time out after three seconds listener.SetReadDeadline(time.Now().Add(3 * time.Second)) len, _, err := listener.ReadFrom(*buf) if err != nil { return -1 } return len }