代码之家  ›  专栏  ›  技术社区  ›  Ishmaeel

远程服务器自动发现。广播还是不广播?

  •  4
  • Ishmaeel  · 技术社区  · 17 年前

    我有一个与通信的客户端/服务器应用程序。网络远程处理。我需要我的客户端能够在网络上找到服务器,而不需要客户端配置。

    据我所知,远程处理中不支持发现。我准备实施UDP解决方案,客户端将能够通过广播消息找到服务器。

    在我继续之前,我想听听集体的智慧。这是最好的办法吗?还有其他建议吗?

    5 回复  |  直到 17 年前
        1
  •  4
  •   oz10    17 年前

    我已经研究过SSDP和UPnP的这类功能,但我建议使用自定义UDP multicast 解决方案。基本上,多播与广播非常相似,但只有加入多播组(即请求广播)的机器才会被联系。

    IMHO、SSDP和UPnP,资源发现过于臃肿和复杂。..但是嘿,这是一个标准。 ;)

        2
  •  1
  •   Tim Farley    17 年前

    看来你需要的是 Simple Service Discovery Protocol 或SSDP。这是在Windows中实现的,是微软支持的一部分 Universal Plug and Play 。由于这是一个行业标准协议,因此这似乎是一个不错的选择。例如,如果你想处理防火墙或其他问题,这将由其他人解决,而不是你必须推出自己的解决方案。

    既然你在说话。NET,我假设你使用的是Windows。有一个有点老的文档(2001)描述了一个C风格的API和一个用于Windows的COM API,标题为 Universal Plug and Play (UPnP) Client Support COM API由UPNP公开。SSDPAPI公开了用于SSDP的DLL和C风格API。DLL。

    这个 COM-style APIs for UPNP 这可能是你最好的选择。因为C#可以为你打包COM对象并处理互操作。我找不到这个API被移植到C#或的任何地方。NET框架。

        3
  •  1
  •   Will Hartung    17 年前

    你也可以考虑苹果的 Bonjour ,这是他们的 Zeroconf 实施。它适用于Mac、PC和Linux/BSD。

        4
  •  0
  •   Rob Bazinet    17 年前

    我在远程处理工作中发现的最佳解决方案是将服务器列表保存在客户端系统上的配置文件中,并使其可更新。不是最容易维护的,但速度很快,没有广播。

        5
  •  0
  •   Rohit    16 年前

    由于最近的MS更新,我的多播UDP解决方案似乎不可靠。

    推荐文章