这会有用吗?
Socket someUdpSocket = new Socket(...);
EndPoint[] aLotOfClients = { ... };
foreach (EndPoint ep in aLotOfClients)
{
someUdpSocket.BeginSendTo(someData, 0, someData.Length,
SocketFlags.None, ep,
new AsyncCallback(someMethod), ep);
}
我无法找到这个问题的答案。
答案 0 :(得分:1)
套接字一次只能将数据发送到单个地址,无论它是同步还是异步套接字。
但是,您可以将数据发送到一组特殊地址(假设您正在处理IP层),称为广播adressess。有两种不同的风格,一次向多个客户端发送数据:广播和多播。
广播将被传送到连接到网络的所有客户端,尽管大多数网络对广播施加了一些限制,因此网络不会被淹没。您子网的广播地址是该子网中由子网掩码定义的最后一个地址。您还可以广播到多个子网等。
多播更像是聊天室。在IPV4中有一组多播地址保留,您可以加入并保留由地址标识的多播组。当您向组发送一些数据时,网络硬件将确保将数据包的副本传递给加入该组的所有rceiver。
我建议你google周围的多播和广播(阅读rfc也不错),我希望我能帮你开始。