【C++第三方库】Windows下编译和使用websocketpp

<p style="font-family: RocknRoll One">Koshkaaa の Site</p> / 2023-08-08 / 原文

应用场景:

使用C++开发一个支持websocket协议的服务进程,可与HTML5(浏览器js文件)通信。来实现替换基于firebreath框架的跨浏览器插件开发。

当前,讲述websocketpp开源库的应用。目的是为了实现C++进程,支持websocket协议。

但 WebSocketpp 是一个开源库,依赖于 Boost 和 OpenSSL

资源准备

  • WebSocketpp

    https://github.com/zaphoyd/websocketpp

  • OpenSSL,不使用加密算法可忽略

    从Github下载源码编译。或直接下载编译好的二进制文件。

    路径:https://www.npcglib.org/~stathis/blog/precompiled-openssl/

  • Boost 资源

    路径:https://sourceforge.net/projects/boost/files/boost-binaries/1.66.0/

    源码下载地址:

    https://sourceforge.net/projects/boost/files/boost/

编译 WebSocketpp

  • 下载websocketpp源码,解压。
  • vs2017新建一个websocket server的控制台工程,将websocketpp源码中examples/echo_server文件夹中的两个源文件拷贝到新建的工程目录中,然后添加到vs工程中。
  • 将websocketpp和boost的路径添加到vs工程的附加包含目录中。
  • 将编译好的boost静态库路径(boost\stage\lib)添加到 VS工程的附加库目录中。
  • 编译websocket server程序运行。

测试

  • 通过在线websocket测试网站去连接 ws://127.0.0.1:9002 测试连接和数据的发送、接受。