2013-08-25 60 views
9

我主要对移动设备的一般答案感兴趣,但是具体的android可以接受。直接在两个移动设备之间进行通信

给定2个移动设备,我怎么能得到他们之间的连接。我是手机开发的新手,我不确定背后有什么样的NAT移动设备。是否有可能做某种“打洞”(使用外部服务器来帮助获得连接)将它们连接在一起?

我已经看过这个问题,但它并没有太多帮助,我仍然不知道如何获得IP和/或遍历NAT。 Android - communicating between two devices

回答

4

如果您想要使用通用无线模块,如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都支持这种连接。另一方面,您也可以建立蓝牙连接。

1

我将他们两个连接到互联网上的服务器 - 也许是一个Web服务器 - 也许你开始与亚马逊EC2实例。电话使用HTTP请求向服务器发送消息,服务器使用HTTP Push的某些说明向其他电话发送消息。虽然我相信他们不得不因合法监听(咳嗽NSA)要求而停止对等(虽然通过中央服务器进行调解),Skype及其流行使用了一种名为UDP hole punching的技术。

相关问题