在本地网络中搜索对等体

时间:2010-11-22 23:30:58

标签: networking udp ipv6 multicast ipv4

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

  1. 这是正确的方法,还是有更好的解决方案?
  2. 在本地网络(例如热点)中使用多播通信的常见政策是什么?通常是否可能或大多数路由器阻止甚至根本不支持多播通信?
  3. 我在C ++ for Linux中开发我的应用程序,将来我会用C#编写Windows版本。

1 个答案:

答案 0 :(得分:1)

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

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