使用libwebsocket写一个server

lws-minimal-ws-server这些例程在buildroot里面,更新的话只能整体编译,十分麻烦和耗时,在sdk外面建立项目,单独开发,会更合适。

创建程序文件夹和文件

bash 复制代码
mkdir ./ws_cam
cd ./ws_cam
cp ../luckfox-pico/sysdrv/source/buildroot/buildroot-2023.02.6/output/build/libwebsockets-4.3.2/minimal-examples/ws-server/minimal-ws-server/*.c ./
thouch ./CMakeLists.txt

编辑源代码

用vscode打开ws_cam目录,修改里面的源代码

CMakeLists.txt

bash 复制代码
project(ws_cam C)
cmake_minimum_required(VERSION 2.8.12)

include_directories(../luckfox-pico/sysdrv/source/buildroot/buildroot-2023.02.6/output/host/arm-buildroot-linux-uclibcgnueabihf/sysroot/usr/include)
link_directories(../luckfox-pico/sysdrv/source/buildroot/buildroot-2023.02.6/output/host/arm-buildroot-linux-uclibcgnueabihf/sysroot/usr/lib)

set(CMAKE_C_COMPILER ../luckfox-pico/tools/linux/toolchain/arm-rockchip830-linux-uclibcgnueabihf/bin/arm-rockchip830-linux-uclibcgnueabihf-gcc)
set(CMAKE_CXX_COMPILER ../luckfox-pico/tools/linux/toolchain/arm-rockchip830-linux-uclibcgnueabihf/bin/arm-rockchip830-linux-uclibcgnueabihf-g++)
set(EXC ws_cam)
set(SRCS minimal-ws-server.c )


add_executable(${EXC} ${SRCS})
target_link_libraries(${EXC} websockets ssl crypto blkid z)

minimal-ws-server.c

c 复制代码
static const struct lws_http_mount mount = {
	/* .mount_next */		NULL,		/* linked-list "next" */
	/* .mountpoint */		"/",		/* mountpoint URL */
	/* .origin */			"/oem/usr/www",  /* serve from dir */
	/* .def */			"index.html",	/* default filename */
	/* .protocol */			NULL,
	/* .cgienv */			NULL,
	/* .extra_mimetypes */		NULL,
	/* .interpret */		NULL,
	/* .cgi_timeout */		0,
	/* .cache_max_age */		0,
	/* .auth_mask */		0,
	/* .cache_reusable */		0,
	/* .cache_revalidate */		0,
	/* .cache_intermediaries */	0,
	/* .origin_protocol */		LWSMPRO_FILE,	/* files in a dir */
	/* .mountpoint_len */		1,		/* char count */
	/* .basic_auth_login_file */	NULL,
};

这里把前端的根目录文件夹指定为上次vue3前端的根目录/oem/usr/www

编译测试

bash 复制代码
cmake ./
make
scp ./ws_cam root@192.168.9.163:/oem/usr/bin

在rv1106摄像头上运行ws_cam

bash 复制代码
/oem/usr/bin/ws_cam

用浏览器打开网址

192.168.9.163:7681

可见vue3欢迎页面

相关推荐
冰西瓜60012 分钟前
国科大2025操作系统高级教程期末回忆版
linux
yinuo19 分钟前
前端跨页面通信终极指南:方案拆解、对比分析
前端
yinuo41 分钟前
前端跨页面通讯终极指南⑨:IndexedDB 用法全解析
前端
HIT_Weston1 小时前
93、【Ubuntu】【Hugo】搭建私人博客:面包屑(一)
linux·运维·ubuntu
cuijiecheng20181 小时前
Linux下Beyond Compare过期
linux·运维·服务器
xkxnq1 小时前
第二阶段:Vue 组件化开发(第 16天)
前端·javascript·vue.js
烛阴1 小时前
拒绝配置地狱!5 分钟搭建 Three.js + Parcel 完美开发环境
前端·webgl·three.js
HIT_Weston1 小时前
92、【Ubuntu】【Hugo】搭建私人博客:侧边导航栏(六)
linux·运维·ubuntu
CodeAllen嵌入式1 小时前
Windows 11 本地安装 WSL 支持 Ubuntu 24.04 完整指南
linux·运维·ubuntu
xkxnq2 小时前
第一阶段:Vue 基础入门(第 15天)
前端·javascript·vue.js