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目錄下執行make
和make 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
端口。
訪問該網址和端口即可查看最終的效果(不要使用ie瀏覽器)。