2012-11-12 52 views
3

我想通过3G或GPRS连接两部电话以不断发送数据流。一部电话将作为发送数据的客户端,另一部电话将充当服务器以接收并显示相同的数据。是否可以在不使用服务器的情况下传输数据?如何通过GPRS或3G连接两个Android设备?

+5

这是一个完全有效的话题开发问题;如果有人想挖掘出可能出现的重复之一,那么只有合理的理由才会结束。 –

+0

我把这个问题看作:一台设备*呼叫*另一台设备(例如过去用于互相呼叫的模拟调制解调器或传真)并建立1对1数据连接。但是,所有的答案都假设这两个设备只是简单地连接到互联网并且谈论TCP/UDP数据包。 – Jannes

+0

我认为红熊猫应用程序可以做到这一点https://play.google.com/store/apps/details?id=org.redPanda它的代码 - https://github.com/redPanda-project/android –

回答

1

不需要,您必须使用某种服务器。

+1

谢谢你every1。可以任意1请让我知道如何通过3G或GPRS连接两部手机,以便使用服务器将数据流从一部手机传输到另一部手机。请一步一步解释,因为我还是个学习者。 – user1818595

+0

取决于您想要流式传输的数据种类。你打算流什么? –

+0

我想流数字。请帮助我 – user1818595

1

不是真的,我一直在使用TCP/UDP数据包进行类似的项目,但最大的问题是找到其他手机。

最好的方法是使用类似于O-Auth的系统连接互联网上的外部服务器 并通过它发送/接收数据,但我没有太多的经验。

我的项目使用UDP在wifi网络上查找服务器并获取其ip,然后通过tcp连接到它,但您也可以轻松地使用Web上的服务器通过任何移动数据连接执行此操作。

如果你想我会很乐意给你发一些我的tcp代码作为起点。 Swift

+0

实际上,由于大多数移动提供商会阻止传入连接,因此不能使用移动连接的WiFi技术。 –

+0

这不太对,有些提供商使用NAT防火墙来更改udp端口,但您可以通过每隔30秒发送一个空白数据包来保持打开状态。 – Excalibur

+0

保持开放状态,是的,这就是让UDP来回“服务器”工作的原因。但是你不能从外面打开它。两部手机都必须创建传出连接或初始UDP数据包,因此必须有服务器供他们使用 - 如果没有服务器帮助,他们无法在自己之间启动通信。 –

0

您不能通过蜂窝数据直接连接两个设备。你需要一个中间服务器。

另一方面,如果您要通过WiFi连接它们,则可以使用套接字将它们连接在一起。

如果两个设备之间的距离较小,那么您也可以尝试通过蓝牙传输。

+1

谢谢你every1。可以任意1请让我知道如何通过3G或GPRS连接两部手机,以便使用服务器将数据流从一部手机传输到另一部手机。请一步一步解释,因为我还是个学习者。 – user1818595