智能手机可以通过3G/4G进行点对点通信吗?

pse*_*udo 6 android p2p 3g 4g

我正在尝试编写一个将数据从一个Android设备传输到另一个设备的应用程序 - 但这些设备很可能位于城市,州或国家的不同部分.(直接的方式是拥有一个中央服务器(或任何类型的服务器),但我试图避免使用一个).

我试图传递的数据是文本,图片或两者的组合.

到目前为止我找到的解决方案是与特殊格式的文本或图片消息进行通信; 但这似乎远非最佳.更好的解决方案?

oli*_*erg 3

真正的 P2P 在 3G 上是不可能的。

在您的问题中,您提到您当前使用消息。我假设你指的是短信。

您可以做的是使用具有自定义 mime 类型的邮件和附件,例如application/foobar-data

在您的应用程序中,人们可以启动包含此附件的 SEND 意图。然后,用户必须选择他的电子邮件程序(或者这可能是自动的),并将其发送给他/她喜欢的任何人。您还可以指定收件人:地址以及您的意图的主题。这会相当简单。

然后,远程用户将收到该邮件并点击附件。您的应用程序将使用清单中的意图过滤器进行注册以处理application/foobar-datamimetype,然后自动启动并接收数据。之前生成的邮件正文还可以预先填充有关您的应用程序以及如何安装它的信息,例如“您需要 FooBar 来查看附件。您可以从...安装它”。

因此,最终,您的应用程序可以发送自定义数据并接收它,而无需依赖专用服务器。

  • 您能否证明“真正的 P2P 在 3G 上不可能实现”这一说法是正确的?有一些证据吗?我倾向于认为这种说法是不正确的。 (2认同)
  • 我不是 3G 方面的专家,但根据运营商的不同,似乎 1. IP 不保证是公开的,2. 传入连接即使没有完全阻止,也几乎会被过滤。在这种情况下,对等点无法可靠地与另一个对等点建立连接。它可能在某些罕见的情况下起作用,但谁知道呢。连接需要通过服务器进行调解。这不是真正的 P2P。 (2认同)