附近设备中的应用程序通信,无需用户干预

Posted

技术标签:

【中文标题】附近设备中的应用程序通信,无需用户干预【英文标题】:App communication in nearby devices without user intervention 【发布时间】:2011-06-05 07:35:03 【问题描述】:

是否可以通信应用的两个实例:

在附近的设备(android 或 iPhone)中 无需用户干预(除了启动应用程序一次) 没有互联网(但不是网络)连接?

怎么做?

Android 到 Android? iPhone 到 iPhone? Android 到 iPhone,反之亦然?

【问题讨论】:

【参考方案1】:

让我们忽略与在应用程序级别实现网络通信相关的问题,并专注于您的问题引发的系统设计问题。

您希望一台设备上的应用程序连接到另一台设备上的另一个关联应用程序,而无需任何用户干预/交互,而无需启动设备。为了使其正常工作,您的系统将需要与提供查找服务的两个设备/应用程序分开的第 3 方。

需要发生的事情是每个应用程序都需要与此服务进行通信,询问有关它应该连接的其他设备的数据(如果存在),然后尝试该连接。这基本上就是 bittorrent 跟踪器的工作原理。

请记住,实施中涉及的内容比简单场景所暗示的要多得多。例如,设备的正确注册/注销、注册超时、安全等。

【讨论】:

抱歉,我忘了明确排除互联网连接。但是,+1 因为它是对我最初问题的完全有效的答案。【参考方案2】:

除非我误解了您的问题,否则您应该能够仅使用标准套接字(TCP 或 UDP,取决于您的需要)在任何/所有设备之间进行通信。对于 iPhone,您可能会使用 NSStream 类,而对于 Android,您可能会使用 Socket 类。

【讨论】:

【参考方案3】:

新的 NFC 功能可以解决这个问题吗?

【讨论】:

以上是关于附近设备中的应用程序通信,无需用户干预的主要内容,如果未能解决你的问题,请参考以下文章

如何安排无需用户干预即可唤醒 iOS 应用程序的警报

Js/jQuery 无需用户干预即可播放短声音

多个电话/设备之间的通信

GWT:从客户端下载文件,无需服务器干预

自动检测附近的蓝牙设备

NSSystemClockDidChangeNotification 是不是收到有关自动时区更新的通知(无需手动干预。例如,当用户正在旅行时)?