【问题标题】:What broadcast / multicast method should we use?我们应该使用什么广播/多播方法?
【发布时间】:2011-09-27 11:58:14
【问题描述】:

我们正在创建一个移动应用程序,该应用程序将受益于知道同一网络上另一个实体的 ID(假设两部手机在同一 WiFi 网络上)。

我们希望“主”应用发送一个“从”应用可以获取和存储的 ID。无论“slave”何时登录网络,它都应该识别 Master(获取 Master 的 ID)并使用它,直到它获得一个新的(来自另一个网络和一个新的 master)。

我们要求该实现在 iOS 和 Android 下是可行的(最好也在 J2ME 下),并且该方法很可能在正常的网络配置中可用(包括公共 WiFi 设置,只要客户端都具有适当的网络访问权限) .

我们应该使用什么广播/多播方法?

【问题讨论】:

    标签: networking network-programming network-protocols multicast


    【解决方案1】:

    在公共 WiFi 连接上的可用性几乎排除了 IP 层多播。

    如果您只对同一子网内的应用感兴趣,您或许可以进行广播。我认为基站倾向于将所有连接的机器都连接在同一个子网上,而 3G 网络倾向于阻止加密狗之间的所有广播。

    如果这失败了,那么另一种方法是拥有一个主人的层次结构,就像 MSN。基本思想是更高级别的masters充当本地masters的目录。当然,你必须考虑到 IP 地址的变化,但一般来说,应用程序运行时间越长,它就越有可能建立一个附近还有谁的列表。 Masters 也可以注意到它的一些 slaves 具有相似的 IP 地址(危险:NAT),并让它们进行推测性联系..

    所有这些都需要相当通用的 TCP/UDP 功能,即使是 J2SE 也应该具备。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-06-16
      • 1970-01-01
      • 2013-05-21
      • 2019-11-10
      • 1970-01-01
      • 2017-01-20
      • 1970-01-01
      • 2014-02-11
      相关资源
      最近更新 更多