关于UDP协议的编程,第三次提问,大家指点讨论。
经过一段时间的了解,有这么几点认识:
1、利用UDP协议可以将数据报发送到一系列的IP地址,如像MSDN的所说:
“将 IP 地址的所有位均设置为 1(即 255.255.255.255)可构成有限的广播地址。将 UDP 数据文报发送到此地址可将消息传递到该广播网络上的任何主机。”
那么我将发送的语句写成 client.send(bytes, bytes.Length, "172.17.101.255",8082), 那是不是IP地址为172.17.101.1 - 172.17.101.254 的机器都能收到我发送的消息呢?
2、第二种方式,也是msdn上面所说的“所有接收者都位于单个网络中时,或者当许多客户端需要接收广播时,广播地址将起作用”,那么也就是说当服务器端将数据报发送到一个广播地址的时候,我只要利用udp里面的JoinMulticastGroup方法加入这个广播地址组,就可以接受他们发送出来的消息了,当然我还知道他们的广播的端口。现在的问题是,我该如何知道这个广播地址组呢? 我只知道数据是从172.17.101.8:2000这个地址发送出来的。
请大家讨论,指点:)