10

我最感兴趣的是移动设备的一般答案,但特定于 android 的东西是可以接受的。

给定 2 个移动设备,我如何才能在它们之间建立连接。我是移动开发的新手,我不确定背后是什么样的 NAT 移动设备。是否可以进行某种“打孔”(使用外部服务器来帮助建立连接)将它们连接在一起?

我看过这个问题,但它对我没有太大帮助,我仍然不知道如何获取 IP 和/或遍历 NAT。 Android - 两台设备之间的通信

4

3 回答 3

5

如果您想使用通用无线模块,如 GSM、UMTS、LTE,您需要提供具有所需协议实现的独立硬件。对于 GSM,您可以查看免费软件OpenBTS http://openbts.org/ 。

作为其他通信可能性,您可以使用 Wi-Fi Peer-to-Peer http://developer.android.com/guide/topics/connectivity/wifip2p.html来建立 wifi 连接。

通信能力取决于芯片的规格,并非所有 wi-fi 都支持这种连接。另一方面,您也可以建立蓝牙连接。

于 2013-12-10T00:52:35.577 回答
2

http://developer.android.com/training/connect-devices-wireless/index.html 参考这个..

您还可以使用蓝牙 API 或使用套接字编程在应用程序中与两个设备通信。

于 2013-12-13T13:13:19.610 回答
1

我会让他们两个都连接到 Internet 上的服务器——也许是一个 Web 服务器——也许你从一个 Amazon EC2 实例开始。电话使用 HTTP 请求向服务器发送消息,服务器使用某种描述的HTTP 推送向其他电话发送消息。Skype 和它的同类使用一种称为UDP 打孔的技术来进行点对点通信(尽管通过中央服务器进行调解),尽管我相信他们必须停止由于合法拦截(咳嗽 NSA)的要求。

于 2013-12-16T16:35:07.070 回答