您需要使用
ListenUDP而不是
DialUDP。当您使用时
DialUDP,它将创建一个“已连接”的UDP端口,并且仅在读取时返回源自远程地址的数据包。
conn, err = net.ListenUDP("udp", ourAddr)由于连接没有默认目的地,因此您还需要使用
WriteTo*方法发送数据包:
sendLen, err := conn.WriteToUDP(discoverMsg, serverAddr)

您需要使用
ListenUDP而不是
DialUDP。当您使用时
DialUDP,它将创建一个“已连接”的UDP端口,并且仅在读取时返回源自远程地址的数据包。
conn, err = net.ListenUDP("udp", ourAddr)由于连接没有默认目的地,因此您还需要使用
WriteTo*方法发送数据包:
sendLen, err := conn.WriteToUDP(discoverMsg, serverAddr)