使用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欢迎页面

相关推荐
csgo打的菜又爱玩2 小时前
Vue 基础(实战模板与命名指南)
前端·javascript·vue.js
ding_zhikai3 小时前
SD:在一个 Ubuntu 系统安装 stable diffusion Web UI
前端·ubuntu·stable diffusion
古月-一个C++方向的小白4 小时前
Linux——查看与创建进程
linux·运维·服务器
gerrgwg5 小时前
Vue-library-start,一个基于Vite的vue组件库开发模板
前端·javascript·vue.js
vortex56 小时前
fd 工具指南:find 的现代替代品
linux·运维开发·命令行工具
你的人类朋友6 小时前
【Node】单线程的Node.js为什么可以实现多线程?
前端·后端·node.js
iナナ6 小时前
Spring Web MVC入门
java·前端·网络·后端·spring·mvc
馨谙6 小时前
vim保姆级使用,操作详解,快捷键大全总结
linux·编辑器·vim
驱动探索者6 小时前
find 命令使用介绍
java·linux·运维·服务器·前端·学习·microsoft
开心不就得了7 小时前
自定义脚手架
前端·javascript