1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > linux socket 开源库 linux c websocket开源库libwebsockets的编译和使用-Go语言中文社区...

linux socket 开源库 linux c websocket开源库libwebsockets的编译和使用-Go语言中文社区...

时间:2021-05-25 12:50:32

相关推荐

linux socket 开源库 linux c websocket开源库libwebsockets的编译和使用-Go语言中文社区...

我在编译过程中出现了本文步骤4.1和4.2所解决的两个问题, 如果你也出现了相同的问题, 请根据4.1和4.2解决, 如果没有出现, 请略过步骤4. 现步骤如下:

步骤1)下载解压, github地址如下:

步骤2)假如解压后的目录如此: /home/user/libwebsockets-master, 请按如下步执行命令行操作:

cd/home/user/libwebsockets-master

mkdirbuild

cdbuild

cmake..

make-j8

sudomakeinstall

步骤3)现在进入测试目录编译测试文件, 已echo为例, 请按如下步骤执行命令行操作:

cd/home/user/libwebsockets-master/minimal-examples/ws-server/minimal-ws-server-echo

gcc minimal-ws-server-echo.c protocol_lws_minimal_server_echo.c -o minimal-ws-server-echo -lwebsockets

如果万事大吉, 请略过, 直接看

而如果出现以下错误, 请根据解决

protocol_lws_minimal_server_echo.c:246:7: error: dereferencing pointer to incomplete type

if (c->api_magic != LWS_PLUGIN_API_MAGIC) {

protocol_lws_minimal_server_echo.c:246:22: error: ‘LWS_PLUGIN_API_MAGIC’ undeclared (first use in this function)

if (c->api_magic != LWS_PLUGIN_API_MAGIC) {

......

步骤4)解决方法:

请注意请注意, 需要已经配置了libuv环境. 如果没有配置, 自己配置下, 还是很简单的.

4.1) 打开/home/user/libwebsockets-master/CMakeLists.txt文件, 并找到此项:

option(LWS_WITH_PLUGINS "Support plugins for protocols and extensions" OFF)

把OFF改成ON, 再根据再次编译libwebsockets, 然后再根据再接着编译测试文件

如果编译成功, 请直接看, 而如果出现以下另外一种错误, 请根据解决

undefined reference to `lws_extension_callback_pm_deflate'

4.2) 再次打开/home/user/libwebsockets-master/CMakeLists.txt文件, 并找到此项:

option(LWS_WITHOUT_EXTENSIONS "Don't compile with extensions" ON)

把ON改成OFF,再根据再次编译libwebsockets, 然后再根据再接着编译测试文件.

步骤5)测试:

现在minimal-ws-server-echo编译成功, 然后启动, 使用默认的ip端口, localhost和7681, 使用websocket client测试. 这里提供一个离线的client

链接:/s/1okT6kjM80mTXBQOItdp_Yw

提取码:qtsj

测试结果如下:

结束:

如果有同学在编译过程中遇到了其他问题, 可以留言一起讨论解决.

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。