libwebsockets是一款轻量级用来开发服务器和客户端的C库。按照官方(https://libwebsockets.org/)给出的介绍来看,它不仅支持ws,wss还同时支持http与https,可以轻轻松松结合openssl等库来实现ssl加密。OK,本篇博客将介绍如何下载使用功能这么强大的库。

下载

git clone https://github.com/warmcat/libwebsockets.git

编译

为了可以进行多平台编译,websockets项目采用CMake作为编译工具,所以如果机器上没有CMake需要去安装CMake,以ubuntu为例。

  • 到官网https://cmake.org/download/下载最新版本的CMake源码;
  • 解压后进入源码根目录执行bootstrap
  • 然后进行编译make和安装sudo make install即可。

CMake安装完成之后我们需要进入libwebsockets源码目录下的build目录,然后执行cmake ..即开始源码的编译。执行完毕后将在build目录下生成文件,最后再build目录下执行makemake install命令即可完成编译安装。详细的编译选项和命令可以参见编译指导READMEs/README.build.md

测试

在编译完成后,build/bin目录下将会生成一些学习用的样例,我们以libwebsockets-test-server为例来看看libwebsockets运行起来是什么样的。

首先执行./libwebsockets-test-server --help查看如何使用该可执行文件:

可选指定端口,支持ssl,日志文件与服务器资源目录
Usage: test-server [--port=<p>] [--ssl] [-d <log bitfield>] [--resource_path <path>]

这里测试用的服务器资源目录已经安装在/usr/local/share/libwebsockets-test-server/目录下,默认即可。

./libwebsockets-test-server

执行完之后我们看到服务器已经开始运行在7681端口。

QQ截图20180307180332.png

访问该网址和端口即可查看最终的效果(不要使用ie浏览器)。

QQ截图20180307180332.png