我目前正在开发一个简单的应用程序,用于在匿名但位于同一地点的人之间交换少量消息。这种并置交互是使用 Nearby API 的主要原因。但是,我一直在阅读 Connections API 和 Messages API,但我仍然不知道哪一个更适合我的应用程序。
为了更清楚起见,应用程序的基本流程类似于:
- 发现新设备并列出它们
- 选择其中一项
- 向选定的设备发送消息
仅使用 Messages API 是否可行?我认为 Connections API 可以管理这种情况,因为您首先与另一台设备建立连接,但这些设备必须在同一个 WiFi 网络上。但是,使用 Messages
,设备不必处于相同的 WiFi 连接上。
基本上,我不想依赖 WiFi 进行通信。此外,一些 WiFi 可能有某种防火墙来阻止这种流量。
最佳答案
如果您需要它在没有每个人都在同一个支持多播的 WiFi 网络上的情况下工作 - 那么 Connections API 是一种可能。
您可以使用 Messages API 发现附近的其他设备并发送消息,但是,消息会广播给所有人。您可以使用更复杂的消息传递方案来加密只能由预期收件人解密的消息,方法是在您订阅时发布您的公钥。
考虑使用 Nearby API 时需要了解的另一件事是,是否可以接受所有参与者都需要在前台打开该应用程序才能运行。这是因为如果不消耗大量电池,您就无法一直订阅和发布。对于通用消息传递应用程序 - 此限制可能会阻止您使用 Nearby 作为解决方案。
关于附近的 Android - 连接与消息 API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34206662/