如何在Android平台上利用网络进行p2p文件共享?
我正在开发一些适用于 Android 平台的应用程序,我有两个问题,我不太确定如何解决,并且两者都密切相关。
如何将相对较小的数据文件从一台 Android 设备发送到另一台设备(最好通过互联网或直接通过无线网络)?
是否可以创建从一台 Android 设备到另一台 Android 设备的临时 p2p 实时数据流?一个示例应用程序是将低分辨率视频从手机 A 的摄像头传输到手机 B 或音频。
我非常感谢您在任一问题(文件传输或实时数据传输)上指出正确的方向。
I'm working on some apps for the android platform and I have two problems that I'm not quite sure how to approach, and both are closely related.
How can I send a relatively small data file from one android device to another (preferably over the internet or directly through wireless network)?
Is it possible to create a temporary p2p live data stream from one android device to another? An example application would be to stream low-res video from phone A's camera to phone B, or audio.
I would much appreciate being pointed in the right direction on either issue (File transfer or real time data transfer).
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
您可以尝试让 Google 的库 libjingle 在 Android 上运行。它提供了相当先进的NAT穿越功能,应该能够穿过运营商的防火墙。
You could try to get Google's library libjingle to work on Android. It provides quite advanced NAT Traversal capabilities, which should be able to get through the carriers' firewalls.
一种方法是使用 java 中的套接字类。网。
One approach would be to use the socket classes in java.net.
要使用 WiFi 在设备之间发送数据,您可以尝试在要通信的设备之间建立自组织网络。我认为你可以使用 Android 的 WiFi API 来做到这一点。一旦完成临时网络设置,您就可以在设备之间建立简单的 TCP 连接并传输文件。
To use WiFi to send data among devices, you can try to establish an ad-hoc network among the devices that will communicate. I think you can use Android's WiFi API to do that. Once you have the ad-hoc network setup, you can establish a simple TCP connection between the devices and transfer the files.
电话之间的套接字不起作用。我已经尝试使用两部使用套接字通信的实际电话,并且运营商中似乎有防火墙阻止端口 80 以外的端口上的通信。然后,如果您尝试使用端口 80,则会收到“权限被拒绝”异常。
Sockets do not work between phones. I've tried with two actual phones using socket communications and there seems to be a firewall in the carriers that prevents communications on ports different than port 80. Then if you try to use port 80 you get a 'Permission Denied' exception.
一种可能性是研究 JXTA 框架。 《实用 JXTA II》一书可在 Scribd 上在线阅读。
One possibility is to investigate the JXTA framework. The Practical JXTA II book is available online for reading at Scribd.