用户A正在Android或iOS设备上运行您的应用。用户A可以自动查找并与附近的其他(<20米?)用户B和C(跨平台)进行通信,无论他们是在运行Android还是iOS,而且没有任何有互联网连接的用户(离线)。
我认为这是一个常用的功能,对这个问题有明确的答案对移动开发社区来说是一个很大的好处。
如何实现所需的功能?
甚至可能吗?
回答:是的。像Firechat和Spaceteam这样的应用程序可以做到这一点,因此它必须是可能的。
Multipeer :仅限iOS,无法实现跨平台。
Alljoyn :iOS绑定仅限Objective-C,无法实现单一代码库。
Mono.Zeroconf :Supposedly would require separate platform implementations,所以没有实现单一代码库?
打开Garden SDK :这是一个很好的解决方案,除了它实际上还没有。
我几天来一直在研究这个话题,但我还没有找到明确的答案。部分原因可能是人们使用了很多不同的术语,如网状网络,ad-hoc网络,zeroconf,DNS-SD等,这使得搜索变得困难。
如果您对我在stackoverflow和其他地方所做的一些研究感兴趣,那么这里是some notes and links(我在这篇文章中直接添加的链接数量有限。)< / p>
答案 0 :(得分:1)
不确定这是否是您正在寻找的内容但是我强烈推荐Xamarin使用ZeroConf库,它是原生的并且支持Xamarin。
https://github.com/onovotny/Zeroconf
它非常好用,可以通过本机和统一的方式发现其他ZeroConf设备,让您接近统一的代码库。
编辑:ZeroConf库看起来只支持订阅ZeroConf服务而不发布,我认为您也需要发布。但似乎其他用户已经要求它,所以它似乎是他们将要添加的功能。