Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/116.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
本地iOS Android zeroconf特设网络 所需的功能:_Android_Ios_Networking_Cross Platform_Zeroconf - Fatal编程技术网

本地iOS Android zeroconf特设网络 所需的功能:

本地iOS Android zeroconf特设网络 所需的功能:,android,ios,networking,cross-platform,zeroconf,Android,Ios,Networking,Cross Platform,Zeroconf,用户A正在Android或iOS设备上运行您的应用程序。用户A可以自动找到附近的其他(

用户A正在Android或iOS设备上运行您的应用程序。用户A可以自动找到附近的其他(<20米?)用户B和C(跨平台),无论他们运行的是Android还是iOS,并且没有任何用户连接互联网(离线

我相信这是一个普遍需要的功能,对这个问题有一个明确的答案将是移动开发社区的一大福音

按照重要性顺序,您希望拥有的其他要求/物品:
  • Android和iOS的单一代码库(或至少共享90%以上的代码),例如通过Xamarin或类似方式
  • 自动选择要使用的最佳信号(可能是首选项列表),例如选择WiFi direct或bluetooth(类似于AllJoyn、Multipeer)
  • 仅使用免费的(或某些用户类别的免费)库
问题是: 如何实现所需的功能

分问题1 有可能吗

回答:是。像Firechat和Spaceteam这样的应用程序可以做到这一点,因此这一定是可能的

拒绝的可能性: Multipeer:仅限iOS,无法实现跨平台

Alljoyn:iOS绑定仅为Objective-C,无法实现单个代码基

Mono.Zeroconf:,所以不实现单个代码基

开放花园SDK:将是一个很好的解决方案,但它实际上还不存在

我已经研究这个话题好几天了,但还没有找到一个明确的答案。部分原因可能是人们使用了许多不同的术语,如网状网络、自组织网络、zeroconf、DNS-SD等,这使得搜索变得困难


如果你对我在stackoverflow和其他地方所做的一些研究感兴趣,这里有(我在这篇文章中直接添加的链接数量有限)。

不确定这是否是你想要的,但我强烈推荐Xamarin和ZeroConf库,它是本机的,并且支持Xamarin

它工作得很好,通过本机和统一的方式发现其他ZeroConf设备,使您接近统一的代码库


编辑:看起来ZeroConf库只支持订阅ZeroConf服务,不支持发布,我认为您也需要发布。但似乎其他用户已经请求了它,所以这似乎是他们将要添加的功能。

如果你真的想要单一代码库,你可以将Alljoyn与Unity一起使用。我刚刚用Firechat做了一个简短的测试,它似乎不会在iOS和Android设备之间发送消息,除非它们都连接到wifi或蜂窝网络。也就是说,这两个设备不直接连接。然而,这是一个快速而肮脏的测试。我想看看其他人是否也有同样的经历。这方面有什么更新吗?我真的对解决方案很感兴趣。不幸的是,我从来没有找到解决方案。