当前位置: 首页 > news >正文

vs网站怎么做在线建站模板

vs网站怎么做,在线建站模板,cms 官网,浙江做网站公司文章目录 1.beast网落库介绍2.相关类及api3.异步读写的处理3.1异步写案例3.2异步读案例 1.beast网落库介绍 Beast网络库是一个基于Boost库的C网络库,特别用于开发高性能的网络应用程序。它提供了一组易于使用的API,主要用于处理HTTP和WebSocket协议&…

文章目录

  • 1.beast网落库介绍
  • 2.相关类及api
  • 3.异步读写的处理
    • 3.1异步写案例
    • 3.2异步读案例

1.beast网落库介绍

Beast网络库是一个基于Boost库的C++网络库,特别用于开发高性能的网络应用程序。它提供了一组易于使用的API,主要用于处理HTTPWebSocket协议,并支持异步操作和多线程处理。

2.相关类及api

Tcp连接的建立

一个事件循环
boost::asio::io_context
socket
boost::asio::ip::tcp::socket
接收连接器
boost::asio::ip::tcp::accpetor

http的相关类及api

表示HTTP请求,包含请求方法、URL、HTTP头部和可选的请求体:
boost::beast::http::request< boost::beast::http::dynamic_body >
表示HTTP响应,包含状态码、响应头部和可选的响应体:
boost::beast::http::response< boost::beast::http::dyanmic_body >

异步读写
boost::beast::async_read
boost::beast::async_write

3.异步读写的处理

async_read(AsyncReadStream& stream, //可异步读的流,比如socketDynamicBuffer& buffer,  //动态缓冲区basic_parser<isRequest>& parser,//解析器,可以理解为读取完消息的格式,一般用请求报格式和响应报文格式就够了ReadHandler&& handle  //回调函数,支持可调用对象,lambda函数,一般函数参数是//beast::error_code 和std::size_t)
async_write(AsyncReadStream& stream, //可异步读的流,比如socketDynamicBuffer& buffer,  //动态缓冲区,直接用http的响应报文ReadHandler&& handle  //回调函数
)

3.1异步写案例

// 已经有一个已经打开的 socket 和一个设置好的响应报文  
boost::asio::ip::tcp::socket socket;  
beast::http::request<http::dynamic_body> rsp;  // 使用 async_write() 进行异步写入  
beast::async_write(socket, rsp,  [](beast::error_code ec, std::size_t bytes_transferred)  {  // 处理完成后的逻辑  if(!ec)  {  // 写入成功  std::cout << "Wrote " << bytes_transferred << " bytes\n";  }  else  {  // 写入失败  std::cerr << "Error: " << ec.message() << "\n";  }  }  
);  

3.2异步读案例

#include <boost/beast/core.hpp>  
#include <boost/beast/http.hpp>  
#include <boost/asio/connect.hpp>  
#include <boost/asio/ip/tcp.hpp>  
#include <cstdlib>  
#include <iostream>  
#include <string>  namespace beast = boost::beast;  
namespace http = beast::http;  
namespace net = boost::asio;  
using tcp = net::ip::tcp;  // 你有一个已经连接的 socket 和一个用于接收数据的缓冲区  
tcp::socket socket(io_context);  
beast::flat_buffer buffer;  // 异步读取数据  
beast::async_read(socket, buffer,  req, // 准备缓冲区以接收数据  [](beast::error_code ec, std::size_t bytes_transferred)  {  if(!ec)  {  // 读取成功,处理数据  std::cout << "Read " << bytes_transferred << " bytes\n";  //进行其他处理操作,例如分析get请求还是post}  else  {  // 读取失败  std::cerr << "Error: " << ec.message() << "\n";  }  }  
);  
http://www.hrbkazy.com/news/31035.html

相关文章:

  • 如东做网站的公司头条新闻今日头条官方版本
  • 网站建设公司中心seo优化是做什么的
  • 彭水县住房和城乡建设委员会网站百度sem竞价托管
  • 做产品的往这看:国外工业设计网站大全!企业培训考试系统app
  • 温州网站制作案例建设优化网站
  • coremail企业邮箱广州专业seo公司
  • 做们作业网站搜索引擎技巧
  • wordpress 作者 评论邵阳seo排名
  • 深圳给企业做网站个人做seo怎么赚钱
  • 谷歌翻译做多语言网站直接登录的网站
  • 福州做网站公司有哪些广州最新消息
  • 咋自己做网站360优化大师下载安装
  • 青岛专业网站制作团队企业网站seo服务
  • 企业网站建设的文献境外电商有哪些平台
  • 侯马市网站建设公司重庆seo建站
  • 云南网站备案查询seo搜索引擎优化实训
  • 医药平台网站建设电商网站公司
  • 太原cms建站系统计算机培训机构排名前十
  • 咸鱼网站交易付款怎么做营销型网站建设模板
  • 企业网站建设申请域名网站链接提交收录
  • wordpress 优缺点网站seo查询
  • 建设政府门户网站的背景seo关键词分析
  • access 数据库做网站最新的即时比分
  • 重庆谷歌seo关键词优化宁波seo链接优化
  • 中国最强十大私企宁波seo推广
  • 建设银行投资网站首页长尾关键词排名系统
  • 做化妆品网站的原因目前最好的引流推广方法
  • 网站的行为怎么做易推广
  • 国外做的好的电商网站推荐百度账号设置
  • 哈密网站制作公司-哈密网站建设|哈密网络公司|哈密做网站网站建设方案模板