本示例主要演示了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事件常量网络权限: ohos.permission.INTERNET
获取WIFI信息的权限: ohos.permission.GET_WIFI_INFO
如需单独下载本工程,执行如下命令:
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如果你觉得这篇内容对你还蛮有帮助,我想邀请你帮我三个小忙:
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。