我想在Android上使用wi-fi构建数据共享应用程序,例如" SHAREit"但我没有得到我从哪里开始。
所以如果有任何明确我的技术概念" SHAREit"理解它非常有效。
请提供我可以运行以测试的所有资源和链接。
答案 0 :(得分:6)
我尝试编写一个名为 SHAREthem 的库来模拟 SHAREit 的工作原理。 库使用 WiFi热点促进设备之间的P2P文件共享和传输。如果接收器没有安装应用,它还支持应用到网络共享。希望有助于您了解使用WiFi Hotspot进行文件共享所涉及的技术。
由于此库中有许多移动部件,因此我使用实现细节制作了blog。将尝试在此处介绍几个组件:
<强> HotspotController 强>
HC使用Java Reflection,因为Android上没有可用于启用/禁用热点的API。功能包括:
控制器创建一个带有SSID的OPEN Wifi热点配置,该SSID可以被接收方截获,以识别SHAREthem发件人,包括端口和发件人名称。
禁用共享模式时恢复用户热点配置
提供已连接的WiFi客户端列表。
分享服务器
从NanoHttpd扩展的微型HTTP服务器,使用IP地址作为主机名将发送方数据提供给接收方,默认情况下在用户或系统分配的端口上工作。
分享服务
Android服务,负责管理SHAREthem服务器的生命周期,并通过停止操作处理前台通知。
用户界面(活动)
处理共享/接收操作的Android活动
Receiver - 提供用户界面列出可供下载的文件。帖子 向Android Download Manager下载请求以启动文件 下载。
发件人 - 显示IP,端口&amp;连接客户端信息和文件 每个连接客户端(接收方)的传输状态。
答案 1 :(得分:4)
使用Android Wi-Fi P2P图书馆和start with the doc on this page。它告诉您如何使用Wi-Fi P2P进行服务发现,它可以满足您的要求中的第1项。基本上,您可以让每个设备发送一个DNS-SD TXT,其中包含用户ID信息等。设备可以查看其内容,而无需建立套接字,这是您稍后在您的要求中完成第2项所做的工作。