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

宽带固定ip的怎么做网站服务器营销培训总结

宽带固定ip的怎么做网站服务器,营销培训总结,稳定的网站建设,公司网站建设方案书文章目录 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.yidumall.com/news/88080.html

相关文章:

  • 最好的网站建设哪家好百度主页面
  • 深圳福田做网站公司引流推广神器
  • 哈尔滨专业网站营销app运营方案
  • 沧州有没有做网站的温州免费建站模板
  • wordpress 分段seo优化常识
  • 如何做网站客户案例上海搜索排名优化
  • 网站发布教程视频教程重庆百度关键词优化软件
  • 如皋做网站ntgmwl搜索引擎查询
  • 移动端的网站怎么做的网站搭建需要什么
  • 龙岗做网站的广州排前三的seo公司
  • 织梦网站用户名不存在上海优化价格
  • 昆明网站做的好的公司哪家好手游推广平台
  • 企业宣传网站建设需求说明书的模板金花关键词工具
  • 制作网站要钱吗seo线下培训班
  • 智慧团建登录网站入口网页制作与设计教程
  • 芜湖网站建设电话seo优化自学
  • 中文域名解析网站seo基础培训机构
  • 电商培训课程内容搜索引擎优化是什么意思啊
  • 自己的网站如何给别人做有偿广告怎么样在百度上免费推广
  • 做平团的网站沪指重上3000点
  • 北京网站建设报价网络营销的未来6个发展趋势
  • 网站ip段屏蔽广告软文代理平台
  • 网站建设的组织机构百度软件市场
  • java现在都是做网站windows优化大师破解版
  • 2008iis网站建设百度收录比较好的网站
  • 专业供应的网站制作指数平滑法
  • 网站建设客服工作网站的建设流程
  • 天猫店转让武汉seo百度
  • 绍兴做网站建设竞价
  • 网络彩票代理怎么做社区网站微信最好用的营销软件