【C++】4.websocket:websocketpp安装与使用

这篇具有很好参考价值的文章主要介绍了【C++】4.websocket:websocketpp安装与使用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

😏★,°:.☆( ̄▽ ̄)/$:.°★ 😏
这篇文章主要介绍websocketpp的安装与使用。
学其所用,用其所学。——梁启超
欢迎来到我的博客,一起学习,共同进步。
喜欢的朋友可以关注一下,下次更新不迷路🥞

😏1. websocket介绍

WebSocket 是一种在单个 TCP 连接上进行全双工通信的协议,它使得客户端和服务器之间的数据交流变得更加实时、高效。相比传统的 HTTP 请求-响应机制,WebSocket 直接建立连接,并通过数据帧(Data Frame)来交换消息,从而避免了每次通信都要建立、断开连接的开销。

WebSocket 协议最早由 HTML5 规范提出,它可以用于 Web 应用程序、移动应用程序等不同类型的应用场景中。WebSocket 除了支持文本格式的消息外,还可以使用二进制数据格式发送数据,这使得 WebSocket 可以处理包括音频、视频等复杂类型的数据。

WebSocket++是一个C++编写的开源库,用于在Web应用程序中实现WebSocket协议的客户端和服务器端。

以下是WebSocket++的主要特点和功能:

  1. 遵循WebSocket协议:WebSocket++完全符合WebSocket协议标准(RFC 6455),支持基于TCP的双向通信,可以在客户端和服务器之间实时传输数据。
  1. 跨平台支持:WebSocket++可以在多种操作系统和平台上运行,包括Linux、Windows和MacOS等。它依赖于标准的C++库,因此可以很容易地移植到不同的环境中。
  1. 简单易用:WebSocket++提供了简洁而直观的API,使开发人员能够轻松地创建和管理WebSocket连接。它封装了底层的网络细节,提供了高级抽象,使开发人员能够专注于业务逻辑的实现。
  1. 灵活性和可扩展性:WebSocket++允许开发人员自定义扩展和插件,以满足特定的需求。它提供了丰富的钩子函数和事件处理机制,使开发人员能够自由地扩展和定制库的功能。
  1. 支持异步IO和多线程:WebSocket++支持异步IO模型,可以处理大量并发连接,提供高性能的实时通信。它还支持多线程处理,可以充分利用多核CPU的优势。
  1. SSL/TLS支持:WebSocket++提供了对SSL/TLS加密的支持,可以确保WebSocket连接的安全性。开发人员可以使用TLS/SSL证书和配置,进行加密通信。
  1. 扩展和子协议支持:WebSocket++支持WebSocket协议的扩展和子协议。开发人员可以自定义和实现自己的扩展和子协议,以满足特定的应用需求。

😊2. websocketpp安装

以ubuntu18.04为例:

websocketpp库依赖boost_system,因此首先安装boost库:

# apt安装
sudo apt-get install libboost-dev

安装websocketpp库(这里用0.8.2版本):

github地址:https://github.com/zaphoyd/websocketpp

# 编译安装
cd websocketcpp
mkdir build && cd build
cmake ..
make
sudo make install

安装完成:

【C++】4.websocket:websocketpp安装与使用

😆3. websocketpp使用

通信例程测试:

# 服务端
cd websocketpp/examples/echo_server
g++ echo_server.cpp -o echo_server -lboost_system -lpthread
./echo_server
# 客户端
cd websocketpp/examples/echo_client
g++ echo_client.cpp -o echo_client -lboost_system -lpthread
./echo_client
# 默认通信在本地的9002端口

在线websocket收发测试:

测试地址:http://www.websocket-test.com/

测试如下:

【C++】4.websocket:websocketpp安装与使用

端口重用问题可以看:http://t.csdn.cn/Z7AyU(一般关掉服务后直接重启会报错,等一会就可以)

根本解决就是在listen函数前加入这条,这样在Linux端重启程序后就不会报错了:

server.set_reuse_addr(true);	// 加入端口复用
server.listen(websocketpp::lib::asio::ip::tcp::v4(), uPort);

参考:

https://zhuanlan.zhihu.com/p/59925926
http://t.csdn.cn/CGAFL

【C++】4.websocket:websocketpp安装与使用

以上。文章来源地址https://www.toymoban.com/news/detail-489516.html

到了这里,关于【C++】4.websocket:websocketpp安装与使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • python安装使用websocket模块

    python中安装websocket模块的时候要注意,需要同时安装下面两个模块 否则使用create_connection连接websocket的时候会报错 参考 Python websocket 模块 ImportError: cannot import name ‘WebSocketApp‘

    2024年02月13日
    浏览(33)
  • 【WebSocket】工具wscat安装和使用

    每当后台服务器部署一个websocket服务需要做测试,测试推流可行性时前后端调试不太方便,可以直接通过命令行工具调试:安装wscat即可。 1,首先安装nodejs Nodejs安装说明 2,安装wscat 3,创建websocket服务端 4,创建web socket客户端 5,wscat参数说明

    2024年02月03日
    浏览(29)
  • Thinkphp5.0 安装使用Workerman实现websocket前后端通信,后端主动推送消息到前端

    安装使用Workerman实现websocket前后端通信,后端主动推送消息到前端,实现后端有数据更新时,前端页面自动更新数据。 我使用的是基于Thinkphp5.0的ThinkCMF5.0。 安装: 启动: public目录下放置的server.php文件,注意里面的配置必须按照你的Worker控制器来: woker控制器: 后端主动推

    2024年02月16日
    浏览(55)
  • 实现c++轻量级别websocket协议客户端

    因以前发过这个代码,但是一直没有整理,这次整理了一下,持续修改,主要是要使用在arm的linux上,发送接收的数据压缩成图片发送出去。 要达到轻量websocket 使用,必须要达到几个方面才能足够简单, 1、不用加入其他的库 2、只需要使用头文件包含就可以 3、跨平台 如果

    2024年02月12日
    浏览(46)
  • UE5- c++ websocket客户端写法

    ue5 c++ 实现socket客户端,读取服务端数据,并进行解析 {projectName}.Build.cs里增加 \\\"WebSockets\\\",\\\"JsonUtilities\\\", \\\"Json\\\"配置信息,最终输出如下: 说明,其中myue521是我的模块名,文件名为myue521.Build.cs。 新增的模块:\\\"WebSockets\\\",\\\"JsonUtilities\\\", \\\"Json\\\"。 准备实现自己的webscoket_client。具体操作

    2024年02月10日
    浏览(39)
  • C++实现WebSocket通信(服务端和客户端)

    天行健,君子以自强不息;地势坤,君子以厚德载物。 每个人都有惰性,但不断学习是好好生活的根本,共勉! 文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。 这里单纯是个人总结,如需更官方更准确的websocket介绍可百度 websocket是一种即时通讯协

    2024年02月09日
    浏览(49)
  • 【C++】开源:MQTT安装与配置使用

    😏 ★,° :.☆( ̄▽ ̄)/$: .°★ 😏 这篇文章主要介绍MQTT安装与配置使用。 学其所用,用其所学。——梁启超 欢迎来到我的博客,一起学习知识,共同进步。 喜欢的朋友可以关注一下,下次更新不迷路🥞 官网: https://mqtt.org/ MQTT 是一个基于 客户端-服务器 的 消息发布/订阅传

    2024年02月05日
    浏览(48)
  • C++在线五子棋对战(网页版)项目:websocket协议

    目标:认识理解websocket协议、websocket切换过程和websocket协议格式。认识和学会使用websocketpp库常用接口。了解websocketpp库搭建服务器流程,认识和学会使用websocketpp库bin接口,最后使用websocketpp库搭建服务器。 平时我们在逛某宝,点击商品查看商品信息,从HTTP角度来看,就是客

    2024年02月13日
    浏览(53)
  • c++: websocket 客户端与服务端之间的连接交互

    目录 socket 头文件 延迟时间 通信协议地址 TCP/IP 服务端 客户端 编程步骤 服务端 客户端 编程步骤 1. 初始化 WSAStartup 2. 创建 socket 2.1 协议族 2.2 socket 类型 2.3 协议 3. 绑定 bind (服务端) 4. 监听 listen(服务端) 5. 请求连接 connect(客户端) 6. 接收请求 accept(服务端) 7. 发送

    2024年02月14日
    浏览(41)
  • 【C++】开源:jsoncpp库安装与使用入门

    😏 ★,° :.☆( ̄▽ ̄)/$: .°★ 😏 这篇文章主要介绍jsoncpp的使用。 学其所用,用其所学。——梁启超 欢迎来到我的博客,一起学习知识,共同进步。 喜欢的朋友可以关注一下,下次更新不迷路🥞 JsonCpp是一个开源的C++库,用于解析、生成和操作JSON格式数据。它支持标准的

    2024年02月16日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包