刚看 udp 组播,写了个 demo ,组播地址是 224.0.0.250 ,监听端口是 9985
发送方代码
func stdlibClient() {
ip := net.ParseIP("224.0.0.250")
srcAddr := &net.UDPAddr{IP: net.IPv4zero, Port: 0}
dstAddr := &net.UDPAddr{IP: ip, Port: 9985}
conn, err := net.DialUDP("udp", srcAddr, dstAddr)
if err != nil {
log.Println(err)
}
defer conn.Close()
conn.Write([]byte("hello"))
log.Printf("stdlibClient <%s>\n", conn.RemoteAddr())
}
我在想 dstAddr 指定的是组播的地址,如果接收方在广域网上,他是如何找到对方的?又没有指定对方的公网 IP 。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.