一个套接字到达多个地址

我必须向网络的每个主机发送一个 UDP 数据包,比如 N 个主机。

我当前的 C 实现非常简单:

  • 打开一个 UDP 套接字

  • sendto为每个主机使用同一个套接字

使用 Go 我有net.Conn( Connection ),而不是套接字。

如何仅使用一个 fd 将 UDP 数据包发送到不同的主机?

就像现在我必须关闭和打开net.ConnN 次。

预先感谢您的帮助 :)


三国纷争
浏览 137回答 1
1回答

白猪掌柜的

使用net.ListenUDP创建具有所需本地端口的 UDP 套接字(或 0 以获得分配的可用端口)。这将为您提供一个net.UDPConn,它具有WriteTo和ReadFrom方法(等效于sendtoand recvfrom)。WriteTo/ReadFrom 和 WriteToUDP/ReadFromUDP 之间的区别在于前者实现了通用的PacketConn接口,而后者是特定于 UDP 的,如果你知道你总是使用 UDP,它可以减少强制转换的数量。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go