【发布时间】:2015-08-20 18:15:48
【问题描述】:
目前,我正计划构建一个跨平台应用程序 (iOS/android),将音乐从一台设备传输到其他设备,而无需互联网。现在我正在考虑哪种网络技术最适合这个用例。顺便说一句,对不起,我没有和你打招呼,它一直消失。
现有 wifi 网络: 我不想使用它,因为我希望我的应用可以在任何地方运行。
Wifi 直连: iOS 不支持(如果我错了请告诉我)。
蓝牙: 在这里我发现了一些相互矛盾的信息。
- iOS 和 android 都支持蓝牙 2.1,但 iOS 有自己的协议,不支持常用协议。
- 低功耗蓝牙提供的数据速率对于高质量音乐流 (1Mbit) 来说太慢了,并且受 iOS 支持,但在 android 端需要 4.3 版本,这会暂停大约一半的用户。
- 我不确定的是蓝牙 4.0 的“正常”(不是 LE)使用。有没有人有这方面的经验/信息?
创建 wifi 热点: 这是我的第一个想法,可能是最好的。但是有几个问题:
一些运营商不允许热点
在 iPhone 和某些(我不知道具体是哪一个)android 设备上,无法在没有蜂窝接收的情况下创建热点。
-
如果没有在 iPhone 上激活蜂窝数据,则无法创建热点;我不知道android设备怎么样(Nexus 4:没问题,SGS3 mini:创建热点后可以关闭蜂窝数据) -> 对于那些没有互联网无限计划的人或不想共享他们的互联网连接(因为这会消散高速流量)的人来说,这是一个问题,但请参阅下一点。
为了让每个人都可以使用自己的蜂窝数据连接,可以在 iOS 上手动编辑 wifi 设置(删除路由器、DNS 和搜索域条目)。有没有办法在android上这样做?有没有办法自动化这个过程? https://apple.stackexchange.com/questions/173894/can-i-connect-to-wifi-but-still-use-cellular
有没有办法以编程方式创建 wifi 网络(不仅仅是启用正常的 wifi 热点)?
SDK/框架,例如 Open Garden 或 Alljyon,一开始看起来很有希望,但是:
Firechat(由 Open Garden 团队制作)承诺 iOS 和 android 设备可以在没有现有网络的情况下进行本地聊天,但实际上它不适用于我的 iPhone 6 和 SGS3 mini。但是他们不想发布他们的 SDK。我得到的唯一信息是它可以通过 wifi-direct 和蓝牙工作。如果有人知道这是如何工作的,请告诉我。
Alljoyn 在没有现有网络的情况下不提供 iOS 和 android 之间的直接通信。 (如果我错了请告诉我)
API:
- iOS 多人连接不支持安卓
希望有人能帮助我。
问候尼尔斯
【问题讨论】:
-
设备之间的距离是多少?如果您认为蓝牙彼此非常接近。
-
然后让安卓设备创建一个热点。并让 iPhone 连接到这个无线站。创建热点与运营商无关,因为您根本不会使用运营商。您甚至可以使用没有 SIM 卡的 Android 设备。
-
在 Nexus 4 上这很好,但在 SGS3 mini 上它只有在启用蜂窝网络后才能工作。您知道以编程方式创建热点来避免这种情况的方法吗?
-
我也面临着类似的挑战。想知道您是否设法克服了它,如果是,您使用了什么技术?
标签: android ios bluetooth wifi-direct