所需功能:
用户A在Android或iOS设备上运行您的应用。用户A可以自动查找附近的其他用户(跨平台)运行,无论他们运行的是Android还是iOS,并且没有任何用户可以连接互联网(脱机)。
我相信这是人们普遍希望的功能,对这个问题有一个明确的答案将对移动开发社区大有裨益。
您想要的其他要求/事物,按照重要性顺序:

  • 用于Android和iOS的单个代码库(或至少共享90%以上的代码),例如通过Xamarin或类似的东西。
  • 自动选择要使用的最佳信号(可能会从偏好列表中选择),例如选择WiFi直接或蓝牙(类似于AllJoyn,Multipeer)
  • 仅使用免费(或某些类别的用户免费)库

  • 问题:
    如何实现所需的功能?
    子问题1
    可能吗?
    回答:是。诸如Firechat和Spaceteam之类的应用程序可以做到这一点,因此必须做到这一点。
    拒绝的可能性:
    Multipeer :仅iOS,无法实现跨平台
    Alljoyn :iOS绑定(bind)仅是Objective-C,不能实现单个代码库
    Mono.Zeroconf :Supposedly would require separate platform implementations,所以不实现单个代码库吗?
    Open Garden SDK :它将是一个很好的解决方案,但实际上尚不存在。
    我已经研究了这个主题几天了,但找不到确切的答案。部分原因可能是人们使用了很多不同的术语,例如网状网络,临时网络,zeroconf,DNS-SD等,这使搜索变得困难。
    如果您对我对stackoverflow和其他地方所做的某些研究感兴趣,请访问some notes and links(我在本文中直接放入的链接数量受到限制)。

    最佳答案

    不知道这是否是您要查找的内容,但我强烈建议您将Xamarin与本地的ZeroConf库一起使用,该库具有Xamarin支持。

    https://github.com/onovotny/Zeroconf

    它的工作原理非常好,并且通过发现其他ZeroConf设备的 native 且统一的方式使您接近统一的代码库。

    编辑:看起来ZeroConf库只支持订阅ZeroConf服务,并且不支持发布,我想您也需要发布。但是似乎其他用户已请求它,因此似乎他们将要添加的功能。

    关于android - 本地iOS-Android zeroconf临时网络,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24623338/

    10-11 22:15