目录
目录README.md

<<<<<<< HEAD

网上邻居 - PConline Neighborhood

一款基于 HarmonyOS 的局域网设备发现和文件共享应用。

功能特性

🔍 设备发现

  • 自动搜索同一局域网内的设备
  • 支持 PC、手机、平板等多种设备类型
  • 1秒内快速发现设备
  • 支持同时发现10台以上设备

📁 文件共享

  • 设置本地文件夹为共享目录
  • 通过HTTP服务提供文件访问
  • 支持文件浏览和下载
  • 安全的路径访问控制

🚀 性能优化

  • UDP广播机制,200ms间隔快速发现
  • 异步非阻塞IO处理
  • 随机延迟响应避免网络拥塞
  • 自动清理离线设备

技术架构

设备发现模块 (DeviceDiscovery.ts)

  • 基于UDP广播协议
  • 端口8888用于设备通信
  • JSON格式设备信息交换
  • 3秒超时的在线状态检测

文件共享模块 (FileSharingServer.ts)

  • HTTP服务器(端口8080)
  • RESTful API设计
  • 文件列表和下载功能
  • 路径安全验证

文件浏览模块 (FileBrowser.ts)

  • HTTP客户端实现
  • 远程文件列表获取
  • 文件下载管理
  • 批量操作支持

用户界面

  • 主页面 (Index.ets): 设备列表展示
  • 文件浏览页面 (FileBrowserPage.ets): 远程文件浏览

项目结构

src/
  main/
    ets/
      entryability/
        EntryAbility.ts       # 应用入口能力
      common/
        Logger.ts            # 日志工具
      feature/
        DeviceDiscovery.ts   # 设备发现模块
        FileSharingServer.ts # 文件共享服务模块
        FileBrowser.ts       # 文件浏览器模块
      model/
        DeviceInfo.ts        # 设备信息实体类
      pages/
        Index.ets           # 主页面
        FileBrowserPage.ets # 文件浏览页面
      App.ets               # 应用配置
    resources/              # 资源文件
      base/
        element/
          string.json       # 字符串资源
          color.json        # 颜色资源
        profile/
          main_pages.json   # 页面配置
    module.json5            # 模块配置

使用说明

设备发现

  1. 启动应用后自动开始设备发现
  2. 在主界面查看发现的设备列表
  3. 点击”开始搜索”手动刷新设备

文件共享

  1. 点击”开始共享”设置共享目录
  2. 其他设备可通过网络访问共享文件
  3. HTTP服务器自动在8080端口启动

文件浏览

  1. 点击设备列表中的任意设备
  2. 进入文件浏览界面
  3. 支持文件夹导航和文件下载
  4. 支持多选批量下载

权限要求

  • ohos.permission.INTERNET: 网络通信
  • ohos.permission.GET_NETWORK_INFO: 获取网络信息
  • ohos.permission.READ_MEDIA: 读取媒体文件
  • ohos.permission.WRITE_MEDIA: 写入下载文件

网络协议

设备发现协议

  • 端口: 8888 (UDP)
  • 广播地址: 255.255.255.255
  • 消息格式: JSON
  • 广播间隔: 200ms
  • 设备超时: 3秒

文件共享协议

  • 端口: 8080 (HTTP)
  • API端点:
    • GET /api/files[/path]: 获取文件列表
    • GET /download/path: 下载文件
    • GET /api/status: 设备状态检查

性能指标

  • ✅ 设备发现时延: < 1秒
  • ✅ 支持设备数量: 10+ 台
  • ✅ 文件传输: HTTP协议
  • ✅ 并发连接: 支持多设备同时访问

开发环境

  • HarmonyOS SDK: API Level 9+
  • DevEco Studio: 最新版本
  • TypeScript: 支持ES6+

注意事项

  1. 确保所有设备在同一局域网内
  2. 防火墙需要开放8888和8080端口
  3. 共享目录需要有相应的读取权限
  4. 建议在可信任的网络环境中使用

更新日志

v1.0.0 (2025-07-14)

  • 🎉 首次发布
  • ✨ 设备发现功能
  • ✨ 文件共享功能
  • ✨ 现代化UI设计
  • ✨ 完整的错误处理

许可证

MIT License - 详见 LICENSE 文件

技术支持

如有问题或建议,请提交 Issue 或联系开发团队。

赛题题目:PC网上邻居

赛题说明:

网上邻居能够方便用户轻松地在网络环境下发现和访问同一局域网内的其他设备,现已在windows PC广泛使用。这一功能让用户可以更便捷地共享文件、打印机等资源,提升了多设备协同工作的效率和便利性。这不仅简化了操作流程,也增强了用户体验。实现网上邻居功能将有助于操作系统上更好的体验。

赛题要求:

开发一款网上邻居应用,实现一种局域网内设备发现和文件共享的功能:

  1. 设备发现:能够自动搜索并显示同一局域网内的其他设备,包括但不限于其他PC、手机、平板等。
  2. 文件共享:允许用户将文件夹设置为共享状态,并通过网络访问其他设备上的共享资源。
  3. 设备发现时延满足要求:在不考虑网络拥塞的情况下,1s内搜索到网络中的设备并正确显示设备名称和类型。
  4. 设备发现数量满足要求:至少支持同时发现10台以上的设备。

评分标准:

评分项 占比 说明 功能 40 同时满足上述具体要求一、具体要求二 性能优化 30 同时满足具体要求三,且4达到500台可获得满分,多台设备可以通过工具发包模拟。 代码规范性 10 代码符合OpenHarmony社区规范,按照规范类型扣分点,每条减少1分,直至为0 文档质量 10 文档能将从架构和技术实现角度,说明架构和技术竞争力。

赛题联系人:

李光远 liguangyuan.li@huawei.com 李锋 lifeng@huawei.com

参考资料:

【OpenHarmony PC适配】https://gitee.com/organizations/openharmony_pc

https://www.bilibili.com/video/BV1YwCkY9Ewe/?vd_source=b1ac0c969d08a18600e11cd96550a42c https://www.uotan.cn/resources/openharmony-5-0-0-x86.680/ 【OpenHarmony 统一互联】https://gitcode.com/ohos-oneconnect

参赛资源支持:

OpenHarmony社区可提供:RK3568开发板或其他端侧开发板*2

赛题交流讨论链接:

https://www.chaspark.com/#/races/competitions/1136105551870021632

c7acf6bc84cfaab08810add840617e6c856c3929

关于
90.0 KB
邀请码