NetworkReconnection:基于 HarmonyOS 的网络重连功能示例项目

用户可通过该项目学习应用网络重连实现方法,包含HTTP、RCP、Socket下载案例,实现网络超时、恢复及前后台切换后的重连,通过网络与状态变量监听实现功能。

分支1Tags0
文件最后提交记录最后更新时间
4 个月前
11 个月前
1 年前
1 年前
1 年前
1 年前

实现应用网络重连功能

介绍

本示例通过HTTP下载、RCP下载和Socket下载三个案例,介绍了应用网络超时重连、应用网络恢复后重连、应用网络前后台切换后重连。其中,HTTP下载、RCP下载使用的网络视频资源,Socket下载使用的本地服务端资源,通过网络监听和状态变量监听获取应用的网络状态和应用的前后台状态,进而对网络进行重连。

效果预览

使用说明

  1. 打开服务端应用,点击“初始化”按钮,对服务端进行初始化。
  2. 打开客户端应用,点击“Socket下载”按钮,进入客户端Socket下载页面。
  3. 在Socket下载页面,点击【保存至图库】下载视频文件。
  4. 在HTTP下载页面,点击【保存至图库】下载视频文件。
  5. 在RCP下载页面,点击【保存至图库】下载视频文件。

工程目录

├──NetworkReconnection                         // 网络重连客户端工程
└──ServerSocket                                          // 网络重连服务端工程

具体实现

  1. import需要的socket模块。
  2. 创建一个TCPSocketServer连接,返回一个TCPSocketServer对象。
  3. 绑定本地IP地址和端口,监听并接受与此套接字建立的客户端TCPSocket连接。
  4. 订阅TCPSocketServer的connect事件,用于监听客户端的连接状态。
  5. 客户端与服务端建立连接后,返回一个TCPSocketConnection对象,用于与客户端通信。
  6. 订阅TCPSocketConnection相关的事件,通过TCPSocketConnection向客户端发送数据,客户端保存文件数据到相册。
  7. HTTP下载通过requestInStream完成下载,并通过SaveButton保存到相册。
  8. RCP下载通过GET方式完成下载,并通过SaveButton保存到相册。

相关权限

  • 允许应用使用Internet网络权限:ohos.permission.INTERNET。
  • 允许应用获取数据网络信息:ohos.permission.GET_NETWORK_INFO。

依赖

不涉及

约束与限制

  1. 本示例仅支持标准系统上运行,支持设备:华为手机。
  2. HarmonyOS系统:HarmonyOS 5.0.5 Release及以上。
  3. DevEco Studio版本:DevEco Studio 5.0.5 Release及以上。
  4. HarmonyOS SDK版本:HarmonyOS 5.0.5 Release SDK及以上。

项目介绍

用户可通过该项目学习应用网络重连实现方法,包含HTTP、RCP、Socket下载案例,实现网络超时、恢复及前后台切换后的重连,通过网络与状态变量监听实现功能。

定制我的领域