WebSocket连接(C/C++)
介绍
本示例依照指南 开发->系统->网络->Network Kit(网络服务)->使用WebSocket访问网络(C/C++)进行编写。 本示例主要展示了WebSocket模块可以建立服务器与客户端的双向连接的相关基础功能。通过在源文件中将相关接口封装,再在ArkTS层对封装的接口进行调用,以实现建立与WebSocket服务器的连接、发送消息给WebSocket服务器、关闭WebSocket连接。
效果预览
| 程序主页 | 连接成功 | 发送消息 | 断开连接 |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
使用说明:
- 在URL输入框中,输入
ws://或wss://开头的WebSocket URL,点击连接按钮进行连接。 - 在发送内容输入框里输入要发送给服务器的内容,点击发送按钮发送。
- 点击关闭按钮,WebSocket连接断开,可以重新输入新的WebSocket URL。
工程目录
entry/src/main/
│
│---cpp
│ │ CMakeLists.txt
│ │ napi_init.cpp // 链接层
│ │
│ └─types
│ └─libentry
│ Index.d.ts
│ oh-package.json5
|
|---entryability
| │---EntryAbility.ets
|---entrybackupability
│ |---EntryBackupAbility.ets
|---pages
│ |---Index.ets // 主页
具体实现
- 配置
CMakeLists.txt,本模块需要用到的共享库是libnet_websocket.so。 - 编写调用该API的代码,接受ArkTS传递过来的url字符串参数,创建WebSocket对象指针后,检查连接到服务器是否成功。
- WebSocket连接通过
testWebsocket.Connect(this.wsUrl)方法发起,默认连接到ws://echo.websocket.org - 消息发送使用
testWebsocket.Send(this.content)。 - 断开连接使用
testWebsocket.Close()关闭 WebSocket 连接。
相关权限
依赖
不涉及。
约束与限制
-
本示例仅支持标准系统上运行,支持设备:Phone、PC/2in1、Tablet、TV、Wearable。
-
本示例为Stage模型,支持API20版本SDK,版本号:6.0.0。
-
本示例需要使用DevEco Studio Release(5.0.5.306)及以上版本才可编译运行。
-
本示例需要设备联网使用。
下载
如需单独下载本工程,执行如下命令:
git init
git config core.sparsecheckout true
echo code/DocsSample/NetWork_Kit/NetWorkKit_Datatransmission/WebSocket_C > .git/info/sparse-checkout
git remote add origin https://gitcode.com/openharmony/applications_app_samples.git
git pull origin master



