摘要:Librws是一个跨平台的websocket客户端,使用C语言编写。
本文分享自华为云社区《LiteOS组件尝鲜-玩转Librws》,作者: W922 。
本期小编为大家带来LiteOS开源版本Librws 组件的使用说明,请跟随小编的步伐一起进入探索之旅吧!
Librws是一个跨平台的websocket客户端,使用C语言编写。它有如下特点:
详情参考:https://github.com/OlehKulykov/librws。
WebSocket是一种在单个TCP连接上进行全双工通信的协议。
详情参考:https://baike.baidu.com/item/WebSocket/1953845?fr=aladdin。
注意:根据Librws所需资源,暂时只支持在STM32F769开发板上运行LibrwsDemo。
Demos ---> Librws Demo ---> [*] Enable Librws Demo
注意:使能Librws Demo后会自动使能Librws组件和LWIP。
注意: 下载需要Linux主机可以访问互联网,并安装git。
服务端代码路径为LiteOS/demos/librws/websocketserver.py,需要python3环境可运行。启动服务端步骤如下(命令行操作):
# creat websockets server, please change ip as your ip address.ip = ''startServer = websockets.serve(MainLogic, ip, 8000)
pip install websockets
python websocketserver.py
Librws Demo需要网络连接,在STM32F769开发板插入网线,并确保网络连接。客户端操作步骤如下:
#define TEXT_BUFF_LEN 1024#define BIN_BUFF_LEN 1024#define WEBSOCKET_DEMO_SERVER "your.ip.address"#define WEBSOCKET_DEMO_PORT 8000#define LIBRWS_TASK_PRIORITY 6#define LIBRWS_TASK_STACK_SIZE 0x1400
注意: 改为域名需要开启LWIP_DHCP(DNS需要DHCP来初始化,在Linux下编译,使能LWIP 会默认开启DHCP)。
Kernel ---> Basic Config ---> Task ---> (4096) Task Defalut Stack Size
********Hello Huawei LiteOS********LiteOS Kernel Version : 5.1.0build data : Jul 14 2021 17:15:39**********************************OsAppInitcpu 0 entering schedulerapp init!Hello, welcome to liteos demo!lwip_init OK!!dhcp start...Librws demo start to run.Huawei LiteOS #Websocket connectedWebsocket receive text:your submit context: LiteOS Websocket demo data
以上为“Librws”使用说明的全部内容,欢迎大家学习交流。
未来我们还会持续新增更多组件、开发板、架构、特性等。
感谢您的阅读,有任何问题、建议,都可以留言给我们,让我们一起进步:
https://gitee.com/LiteOS/LiteOS/issues。为了更容易找到“LiteOS”代码仓,建议访问https://gitee.com/LiteOS/LiteOS,关注“ Watch”、点赞“Star”、并“Fork”到自己账号下,如图所示。

点击关注,第一时间了解华为云新鲜技术~