libwebsockets下载编译和测试

一、下载

下载地址:git clone https://github.com/warmcat/libwebsockets.git

本文只测试自带的demo,如需自定义调用demo,请看《libwebsockets库调用实例测试

二、库和默认的demo编译

编译:新建一个release目录,为了不编译安装到系统默认目录,下面指定编译安装结果将会放入该目录,进入cmake目录,执行:

cmake .. -DCMAKE_INSTALL_PREFIX:PATH=../release

如果要支持多线程服务器,则执行:

cmake .. -DCMAKE_INSTALL_PREFIX:PATH=../release -DLWS_MAX_SMP=8

(多线程例子:minimal-examples/ws-server/minimal-ws-server-threads-smp)

make

make install

执行完毕后,编译好的demo和库放在../release中

执行../release目录下的demo:libwebsockets-test-server

./ libwebsockets-test-server

然后用netstat -nat命令查看连接:

可以看到7681端口被监听,说明启动成功。

在浏览器访问7681端口:比如:http://192.168.1.173:7681

打开如下页面说明成功。

三、其他的demo编译

1. minimal-http-server-form-post

其他的demo位于minimal-examples,每一个demo里面都有CMakeList,可以执行cmake .&&make进行编译,以minimal-http-server-form-post为例:

由于我们修改了库的默认安装路径,所以必须修改CMakeList.txt,设置新的路径。

在CMakeList.txt中添加:

include_directories(../../../release/include)

LINK_DIRECTORIES(../../../release/lib)

进入minimal-examples/http-server/minimal-http-server-form-post并执行:

#cmake . -DLWS_WITH_MINIMAL_EXAMPLES=1 -DLWS_ROLE_H1=1 -DLWS_WITH_SERVER=1

#make

执行完毕,得到:lws-minimal-http-server-form-post

执行lws-minimal-http-server-form-post:

#./ lws-minimal-http-server-form-post

然后浏览器打开7681端口:

用netstate -nat查看连接:

发现http POST为短连接,即发送完东西后,立刻关闭连接。

可以点击submit,进行提交。

服务端收到结果:

2. minimal-ws-server

在CMakeList.txt中添加:

include_directories(../../../release/include)

LINK_DIRECTORIES(../../../release/lib)

进入minimal-examples/http-server/minimal-http-server-form-post并执行:

# cmake . -DLWS_WITH_MINIMAL_EXAMPLES=1 -DLWS_ROLE_WS=1

#make

得到:lws-minimal-ws-server

执行:#./lws-minimal-ws-server

打开两个网页,输入聊天信息,点击发送,聊天信息将会出现在两个页面

从下面的结果可以看到,浏览器和lws-minimal-ws-server之间建立了一个TCP长连接。

 

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

叶落西湘

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值