如何利用网络在Android平台上共享p2p文件?

问题描述:

我正在为android平台上的一些应用程序工作,我有两个问题,我不太清楚如何处理,并且两者都密切相关。如何利用网络在Android平台上共享p2p文件?

  1. 如何从一个android设备发送一个相对较小的数据文件到另一个(最好通过互联网或直接通过无线网络)?

  2. 是否有可能创建一个临时p2p实时数据流从一个Android设备到另一个?一个示例应用程序是将来自手机A的相机的低分辨率视频流到手机B或音频。

我非常感谢被指出正确的方向在任何问题(文件传输或实时数据传输)。

一种方法是使用java.net中的套接字类。

+1

此方法不起作用,因为它不解决NAT穿越问题。 – JVerstry 2011-03-21 01:59:50

要使用WiFi在设备之间发送数据,您可以尝试在将要通信的设备中建立一个ad-hoc网络。我想你可以使用Android的WiFi API来做到这一点。一旦你有了ad-hoc网络设置,你就可以在设备之间建立一个简单的TCP连接并传输文件。

手机之间的插座不工作。我已经尝试过使用套接字通信的两个实际电话,并且运营商似乎有一个防火墙阻止与端口80不同的端口通信。然后,如果尝试使用端口80,则会出现“权限被拒绝”异常。

一种可能性是调查JXTA框架。实用的JXTA II书籍可在线阅读Scribd。

您可以尝试让Google的图书馆libjingle在Android上运行。它提供了相当先进的NAT Traversal功能,应该能够通过运营商的防火墙。