【问题标题】:How to connect two Android devices over GPRS or 3G?如何通过 GPRS 或 3G 连接两台 Android 设备?
【发布时间】:2012-11-13 02:11:47
【问题描述】:

我想通过 3G 或 GPRS 连接两部手机以连续发送数据流。一部手机将作为客户端发送数据,另一部手机作为服务器接收和显示相同的数据。是否可以在不使用服务器的情况下传输数据?

【问题讨论】:

  • 这是一个完全有效且切题的开发问题;关闭的唯一适当理由是如果有人想挖掘其中一个可能的重复项。
  • 我将此问题解读为:一个设备调用另一个设备(如模拟调制解调器或过去用于相互呼叫的传真)并设置了一对一-1 数据连接。但是所有的答案都是假设两个设备都只是有他们的互联网连接并谈论 TCP / UDP 数据包。
  • 我认为 Red Panda 应用程序会这样做 play.google.com/store/apps/details?id=org.redPanda 这是代码 - github.com/redPanda-project/android

标签: android


【解决方案1】:

没有。您肯定必须使用某种服务器。

【讨论】:

  • 谢谢大家1。谁能告诉我如何通过 3G 或 GPRS 连接两部手机,以便使用服务器将数据流从一部手机传输到另一部手机。请逐步解释,因为我还是个学习者。
  • 取决于您想要流式传输的数据类型。你打算直播什么?
  • 我想串流数字。请帮助我
  • 如果是这样,您可能需要查看 Google Cloud Messaging API。
【解决方案2】:

并非如此,我一直在使用 TCP/UDP 数据包进行类似的项目,但最大的问题是找到另一部手机。

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

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

如果您愿意,我很乐意将我的一些 tcp 代码发送给您作为起点。 斯威夫特

【讨论】:

  • 实际上,不,您不能将 wifi 中的相同技术用于移动连接,因为大多数移动提供商都会阻止传入连接。
  • 不太对,有些提供商使用 NAT 防火墙来更改 udp 端口​​,但您可以通过每 30 秒发送一个空白数据包来保持其打开。
  • 保持打开状态,是的,这就是让 UDP 来回传输到“服务器”工作的原因。但是你一开始就不能从外面打开它。两部手机都必须创建传出连接或初始 UDP 数据包,因此必须有一个服务器可供它们访问 - 如果没有服务器的帮助,它们无法启动它们之间的通信。
  • 这就是我所说的,我说过你需要一个外部服务器让他们通过
  • 谢谢大家1。谁能告诉我如何通过 3G 或 GPRS 连接两部手机,以便使用服务器将数据流从一部手机传输到另一部手机。请逐步解释,因为我还是个学习者。
【解决方案3】:

您无法通过蜂窝数据直接连接两台设备。您需要一个中间服务器。

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

如果两台设备之间的距离较近,也可以尝试蓝牙传输。

【讨论】:

  • 谢谢大家1。谁能告诉我如何通过 3G 或 GPRS 连接两部手机,以便使用服务器将数据流从一部手机传输到另一部手机。请逐步解释,因为我还是个学习者。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-13
  • 1970-01-01
相关资源
最近更新 更多