1 websocket++

WebSocket++ 是一个跨平台开源(BSD 许可证)仅标头 C++ 库,它实现RFC6455(WebSocket 协议)和RFC7692(WebSocket 压缩扩展),可基于WebSocket++编写Websocket客户端和服务器,其中Websocket++网络I/O主要是基于Asio库完成,另外基于OpenSSL库进行加密连接,zlib库实现压缩。

websocket++官网:https://www.zaphoyd.com/projects/websocketpp/

websocket++文档:https://docs.websocketpp.org/

2 websocket++不依赖boost库,基于独立Asio编译

2.1 官方文档

在websocket++的官方文档中是这样写的,

In order to remain compact and improve portability, the WebSocket++ project strives to reduce or eliminate external dependencies where possible and appropriate. WebSocket++ core has no dependencies other than the C++11 standard library. For non-C++11 compilers the Boost libraries provide drop in polyfills for the C++11 functionality used.

WebSocket++ implements a pluggable data transport component. The default component allows reduced functionality by using STL iostream or raw byte shuffling via reading and writing char buffers. This component has no non-STL dependencies and can be used in a C++11 environment without Boost. Also included is an Asio based transport component that provides full featured network client/server functionality. This component requires either Boost Asio or a C++11 compiler and standalone Asio. As an advanced option, WebSocket++ supports custom transport layers if you want to provide your own using another library.

意思是说WebSocket++ 核心除了 C++11 标准库之外没有任何依赖项,但是如果编译器不支持C++11,就需要依赖Boost库。编译Websocket++要么是依赖Boost库,要么就是使用C++11编译器且使用独立的Asio,也就是no-boost Asio,这个我之前的文章中有介绍过:C++ – Asio和Boost.Asio的区别

2.2 为什么要使用websocket++加独立Asio的方案?

websocket++默认情况下是需要依赖boost的库,而boost非常的大且编译比较耗时。为了项目轻量化,所以我更倾向于不依赖于boost。

2.3 如何正确编译websocket++加独立Asio的组合

此文章剩余40%被隐藏需要付费查看,内容查看价格3小饼子立即购买,VIP免费
支付前请仔细阅读以下说明,如支付代表您了解并同意了以下说明:
(1)资源收集自互联网,仅供自我学习,请在下载后24小时内删除该资源,如下载者将此资源用于其他非法用途,本站不承担任何法律责任;如有侵权,请立即联系我,马上删除!
(2)下载单个资源则点击立即下载或者立即购买按钮;本站VIP可下载本站所有资源。
(3)请不要使用手机以及电脑浏览器的无痕模式进行支付操作,以免造成支付成功但未显示下载链接。
(4)如遇支付问题或者资源失效问题请点击按钮点击反馈进行反馈或者发送说明邮件到stubbornhuang@qq.com