当前位置: 代码网 > 手机>品牌>手机系统 > HarmonyOS实战开发-网络管理-Socket连接

HarmonyOS实战开发-网络管理-Socket连接

2024年08月02日 手机系统 我要评论
本示例主要演示了Socket在网络通信方面的应用,展示了Socket在两端设备的连接验证、聊天通信方面的应用。

介绍

本示例主要演示了socket在网络通信方面的应用,展示了socket在两端设备的连接验证、聊天通信方面的应用。

效果预览

在这里插入图片描述
使用说明

1.搭建服务器环境:修改服务器脚本中的服务端ip地址,与本机ip地址保持一致,修改完成后双击运行脚本(端口号不必修改,与客户端工程中的端口保持一致即可)。
在这里插入图片描述
2.运行成功后为阻塞状态,等待客户端连接成功后会有相应提示。
在这里插入图片描述
3.打开应用,点击用户选择框选择要登录的用户(不同客户端保持用户选择不一致),点击协议选择框选择通信协议(与运行的服务器一致),并输入另一个设备的ip地址(如果是tcp和tls,则输入服务端ip地址),点击登录按钮进入创建房间用户页面(两个设备都要依次执行此步骤)。

4.在两台设备都成功连上服务器后,在其中一个设备上点击创建房间按钮,任意输入房间号,另一个设备会收到邀请进入房间的信息弹框,点击确定按钮后,两个设备进入聊天页面。

5.在其中一个设备上输入聊天信息并点击发送按钮后,另一个设备的聊天页面会收到该聊天消息。

6.点击顶部标题栏左侧的返回图标按钮,则返回创建房间页面。

7.以上运行完成后如需再次创建房间请重启客户端和服务端进行调试。

工程目录

/socket
├── entry             # 主entry模块目录
│   └── src
│       ├── main
│           ├── ets                                # ets模块目录
│               ├── components                     # 组件目录
│                   ├── chatcomponent.ets          # 聊天组件
│                   ├── createroomdialog.ets       # 创建房间弹窗
│                   ├── invitationdialog.ets       # 邀请进入房间弹窗
│                   ├── selectagreementdialog.ets  # 选择协议弹窗
│                   ├── selectuserdialog.ets       # 选择用户弹窗
│                   ├── toolcomponent.ets          # 工具面板组件
│               ├── controller                     # 
│                   ├── logincontroller.ts         # 负责与服务器的连接和接发消息
│               ├── data                           # 
│                   ├── chatbox.ts                 # 聊天组件对应实体
│                   ├── datasource.ts              # 数据源实体
│                   ├── tooldata.ts                # 工具面板对应实体
│               ├── entryability                
│               ├── model                          #  
│                   ├── socket.ts                  # 负责创建相应socket实例
│                   ├── socketfactory.ts           # socket工厂
│               ├── pages                          # 
│                   ├── createroom.ets             # 创建房间页面
│                   ├── newindex.ets               # 聊天首页
│                   ├── newlogin.ets               # 连接服务器页面
│               ├── socket                         # tcp\tls\udp
│               ├── utils                          # 工具类目录
│               ├── constants.ts                   # 定义ui事件常量

具体实现

  • udp socket:使用udp socket实现文本传输,无需搭建服务器,对端直接交流。
  • tcp socket:使用tcpsocket实现文本传输和公共通知事件转发,需要python脚本搭建tcp服务器,公共通知用于来起音频通话应用。代码:tcpsocket.ts,服务器代码:tcp_server.py。
  • tls socket:使用tlssocket实现文本传输,需要python脚本搭建tls服务器,服务器和客户端需要同一套证书文件。代码:tlssocket.ts,服务器代码:tls_server.py。

相关权限

网络权限: ohos.permission.internet获取wifi信息的权限: ohos.permission.get_wifi_info

依赖

  1. windows上启动socket服务端,模拟消息转发服务器服务器目录
  2. 需要使用音频通话示例启动语音通话功能

约束与限制

  1. 本示例仅支持标准系统上运行,支持设备:rk3568。
  2. 本示例为stage模型,仅支持api9版本sdk,版本号:3.2.11.10,镜像版本号: openharmony 4.0.7.5
  3. 本示例需要使用deveco studio 3.1 release (build version: 3.1.0.500, built onapril 28, 2023)才可编译运行。
  4. 本示例在启动前需搭建服务端环境,成功启动相应服务端后再运行客户端,服务端脚本(server_python)需要在python3.8.5版本下运行(需与客户端处于同一局域网)。
  5. tcp和tls脚本使用同一端口,不可同时运行,在使用某一类型的协议前运行对应协议的服务端脚本即可;tls脚本需与证书文件(certificate_file)存在于同级非中文路径目录。
  6. 该示例运行测试完成后,再次运行需要重新启动服务端和客户端。

下载

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

git init
git config core.sparsecheckout true
echo code/basicfeature/connectivity/stagesocket/ > .git/info/sparse-checkout
git remote add origin https://gitee.com/openharmony/applications_app_samples.git
git pull origin master

为了帮助大家更深入有效的学习到鸿蒙开发知识点,小编特意给大家准备了一份全套最新版的harmonyos next学习资源,获取完整版方式请点击→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语言
9.……在这里插入图片描述

五、基于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.折叠屏系列
16.……在这里插入图片描述

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

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com