HarmonyOS实战开发- 如何实现VPN的进行服务器连接,发送数据的功能

介绍

本示例使用@ohos.net.vpn接口创建VPN 隧道,建立vpn网络,vpn隧道保护,销毁VPN网络以及使用@ohos.net.vpnExtension接口创建三方vpn等功能。 实现了VPN的进行服务器连接,发送数据的功能

效果预览

使用说明

  1. 进入应用前请先安装VPNFoundation。
  2. 进入应用后,主界面有启用VPN和停用VPN的选项。分别对应开启和关闭VPN功能。
  3. 在主界面,可以点击启用VPN来创建VPN连接。
  4. 在VPN启动界面,可以配置VPN服务器IP地址/隧道IP地址/使用VPN的应用程序。
  5. 在VPN启动界面,点击创建对象可以创建VPN隧道,点击隧道保护可以开启隧道保护,点击启动VPN可以进行网络连接。
  6. 在主界面,可以点击停用VPN来断开和关闭VPN连接。
  7. 以上演示系统vpn,如果使用三方vpn,点击启动vpnExt按钮,弹窗提示vpn使用许可,同意后三方vpn启动并自动连接,尝试用浏览器等hap包访问百度

    8 .访问成功后返回主页面,点击关闭vpnExt按钮,断开三方vpn连接

工程目录

bash 复制代码
entry/src/main/ets/
|---entryability
|   |---EntryAbility.ts            // 项目入口,请求相关权限
|---pages
|   |---Index.ets                  // 首页
|   |---StartVpn.ets               // 打开vpn
|   |---StopVpn.ets                // 关闭vpn
|---model
|   |---Logger.ets                 // 日志
|---serviceextability
|   |---MyVpnExtAbility.ts         // 三方vpn能力

具体实现

创建VPN隧道,建立VPN网络,VPN隧道保护,销毁VPN网络,接口封装在StartVpn和StopVpn,源码参考:StartVpn.ets和StopVpn.ets。

bash 复制代码
* 创建VPN隧道:调用StartVpn.CreateTunnel()来创建VPN隧道;
* 建立VPN网络:调用StartVpn.SetupVpn()来建立VPN网络;
* 销毁VPN网络:调用StopVpn.Destroy()来销毁VPN网络;
* VPN隧道保护:调用StartVpn.Protect()来开启VPN隧道保护;

相关权限

允许系统应用获取网络权限: ohos.permission.INTERNET,允许系统应用获取VPN权限: ohos.permission.MANAGE_VPN。

依赖

不涉及

约束与限制

1.本示例仅支持标准系统上运行,支持设备:RK3568。

2.本示例为Stage模型,支持API11版本SDK,SDK版本号(API Version 4.1 Beta1),镜像版本号(4.1 Beta1)

3.本示例需要使用DevEco Studio 版本号(4.0 Release)及以上版本才可编译运行。

4.本示例在启动前需搭建服务端环境,成功启动相应服务端后再运行客户端,服务端脚本(server_python)需要在Python 3.8.5版本下运行(需与客户端处于同一局域网)。

5.该示例运行测试完成后,再次运行需要重新启动服务端和客户端。

6.本示例使用了system_basic级别的权限。

下载

如需单独下载本工程,执行如下命令:

bash 复制代码
git init
git config core.sparsecheckout true
echo code/BasicFeature/Connectivity/VPN/ > .git/info/sparse-checkout
git remote add origin https://gitee.com/openharmony/applications_app_samples.git
git pull origin master

为了帮助大家更深入有效的学习到鸿蒙开发知识点,小编特意给大家准备了一份全套最新版的HarmonyOS NEXT学习资源,获取完整版方式请点击→HarmonyOS教学视频:https://docs.qq.com/doc/DZVVBYlhuRkZQZlB3

HarmonyOS教学视频:语法ArkTS、TypeScript、ArkUI等...视频教程


鸿蒙生态应用开发白皮书V2.0PDF: 获取完整版白皮书方式请点击→ https://docs.qq.com/doc/DZVVkRGRUd3pHSnFG?u=a42c4946d1514235863bb82a7b2ac128

鸿蒙 (Harmony OS)开发学习手册→https://docs.qq.com/doc/DZVVBYlhuRkZQZlB3

一、入门必看

1.应用开发导读(ArkTS)
2.........

二、HarmonyOS 概念→https://docs.qq.com/doc/DZVVBYlhuRkZQZlB3

1.系统定义
2.技术架构
3.技术特性
4.系统安全
5...

三、如何快速入门?→https://docs.qq.com/doc/DZVVBYlhuRkZQZlB3

1.基本概念
2.构建第一个ArkTS应用
3...

四、开发基础知识→https://docs.qq.com/doc/DZVVBYlhuRkZQZlB3

1.应用基础知识
2.配置文件
3.应用数据管理
4.应用安全管理
5.应用隐私保护
6.三方应用调用管控机制
7.资源分类与访问
8.学习ArkTS语言

五、基于ArkTS 开发→https://docs.qq.com/doc/DZVVBYlhuRkZQZlB3

1.Ability开发
2.UI开发
3.公共事件与通知
4.窗口管理
5.媒体
6.安全
7.网络与链接
8.电话服务
9.数据管理
10.后台任务(Background Task)管理
11.设备管理
12.设备使用信息统计
13.DFX
14.国际化开发
15.折叠屏系列

更多了解更多鸿蒙开发的相关知识可以参考:https://docs.qq.com/doc/DZVVBYlhuRkZQZlB3

相关推荐
一只栖枝1 小时前
华为 HCIE 大数据认证中 Linux 命令行的运用及价值
大数据·linux·运维·华为·华为认证·hcie·it
zhanshuo5 小时前
在鸿蒙里优雅地处理网络错误:从 Demo 到实战案例
harmonyos
zhanshuo5 小时前
在鸿蒙中实现深色/浅色模式切换:从原理到可运行 Demo
harmonyos
whysqwhw10 小时前
鸿蒙分布式投屏
harmonyos
whysqwhw11 小时前
鸿蒙AVSession Kit
harmonyos
whysqwhw13 小时前
鸿蒙各种生命周期
harmonyos
whysqwhw14 小时前
鸿蒙音频编码
harmonyos
whysqwhw14 小时前
鸿蒙音频解码
harmonyos
whysqwhw14 小时前
鸿蒙视频解码
harmonyos
whysqwhw15 小时前
鸿蒙视频编码
harmonyos