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

相关推荐
无足鸟ICT18 小时前
【RHCA+】reboot命令(重启)
linux·运维·服务器·1024程序员节
郑州光合科技余经理18 小时前
同城小程序开发:同一笔单在用户端和商家端各显示到哪
android·java·开发语言·前端·后端·uni-app·php
zzppff1p18 小时前
用AI写了个小游戏
前端·javascript
陈随易18 小时前
终于 Token 自由了,AI 开支下降 10 倍
前端·后端·程序员
DYWorker00118 小时前
第1课:基于正点原子RK3568开发板读懂Linux内核
linux·运维·网络
gqc5819 小时前
Markdown 写完怎么验证?我现在的 4 步本地检查流程
前端
Android系统攻城狮19 小时前
Linux FFmpeg深度解析之avformat_open_input调用流程与实战(一)
linux·运维·ffmpeg·车载音视频·ffmpeg音视频·音视频进阶手册
计算机魔术师19 小时前
我重算了新云的账,发现亏的不是算力,是时间
前端
吹什么轩19 小时前
linux系统复习:Ext 文件系统(一个文件在磁盘上到底长什么样)
linux·运维·服务器
wiseyao121919 小时前
uniapp scroll-view滚动到最后
前端·javascript·uni-app