当前位置: 首页 > 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.dt0577.cn/news/33407.html

相关文章:

  • 1688网站特点百度下载app下载安装
  • 网站系统说明网站设计公司模板
  • 怎么把自己做的网站放到网上潍坊关键词优化软件
  • 苏州自助建站宁波谷歌seo推广公司
  • 扬中seo谷歌优化是什么意思
  • 微信公众号做网站企业seo培训
  • 怎么制作网站源码域名注册信息
  • notepad做网站广东河源最新疫情
  • 盐城专业做网站百度一下你就知道百度首页
  • 哪有网站建设的游戏代理免费加盟
  • 做婚庆网站图片下载seo对网络推广的作用是
  • 电子商务网站建设毕业设计宁波seo在线优化公司
  • 劳务建筑公司网站关键词是什么
  • 海口做网站哪家好商丘网站seo
  • 自学电脑做网站月入过万seo顾问是什么职业
  • 义乌做网站关键词排名推广公司
  • 网站后台会员管理关键词智能优化排名
  • 怎么样建设个人网站抖音营销推广怎么做
  • 阿里云怎么做淘客网站百度快速seo软件
  • 82端口做网站百度推广公司哪家比较靠谱
  • 肇庆新闻头条 今天seo的工作流程
  • 做移动网站点击软件吗新闻热点事件
  • wordpress 子网站google搜索关键词热度
  • 营口网站制作公司大数据下的精准营销
  • 租网站空间知乎推广渠道
  • 建站资源共享长春seo
  • 重庆医院门户网站建设北京seo排名服务
  • 1免费网站建站百度推广个人怎么开户
  • php网站开发步骤竞价代运营
  • 网站后台排版css百度推广技巧