2

我想在我的程序中实现功能,这将使它能够发现在本地网络中运行相同应用程序的主机。为此,我将在我的程序中打开一个 UDP 套接字并在地址 224.0.0.1(使用 IPv4 时)或 ff02::1(使用 IPv6 时)加入多播组。然后我要通知其他主机,我刚刚登录到这个网络。根据我的想法,我有两个问题:

  1. 这是正确的方法还是有更好的解决方案?
  2. 在本地网络(例如热点)中使用多播通信的常见策略是什么?通常是可能的还是大多数路由器阻止甚至根本不支持多播通信?

我用 C++ 为 Linux 开发我的应用程序,将来我打算用 C# 为 Windows 编写版本。

4

1 回答 1

1

这通常是您的最佳选择。另一种选择是 UDP 广播,但不能保证传送,因此您必须定期广播以确保其他应用程序听到它。

就政策而言,我刚刚检查了我的 Linksys Wifi 接入点,默认情况下它已禁用多播。我怀疑很多地方都在这个默认配置下运行

于 2010-11-22T23:50:08.427 回答