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

赤壁网站开发公司品牌宣传方案

赤壁网站开发,公司品牌宣传方案,武汉电商网站建设,东莞软件开发企业原文 告别异步回调模型,写代码更简单.同样也是跨平台,仅头文件的,包含头文件即可用,来看看它的用法. 基本用法 提供getpost服务 coro_http_server server(1, 9001);server.set_http_handler<GET, POST>("/", [](coro_http_request &req, coro_http_respo…

原文
告别异步回调模型,写代码更简单.同样也是跨平台,仅头文件的,包含头文件即可用,来看看它的用法.

基本用法

提供getpost服务

  coro_http_server server(1, 9001);server.set_http_handler<GET, POST>("/", [](coro_http_request &req, coro_http_response &resp) {//`io`线程中的响应.resp.set_status_and_content(status_type::ok, "hello world");});server.set_http_handler<GET>("/coro",[](coro_http_request &req,coro_http_response &resp) -> async_simple::coro::Lazy<void> {co_await coro_io::post([&] {// 其他线程中的协程.resp.set_status_and_content(status_type::ok, "hello world in coro");});});server.sync_start();

coro_http_server提供了三个http服务,通过set_http_handler注册的,注册了两个http处理函数:一个是普通函数,一个是协程函数.

注册为普通函数时,会在io线程里执行该函数;注册为协程函数时,允许在其它线程或线程池中执行.上面注册协程函数示例,展示了分发业务函数coro_io内部的线程池中执行.

co_await时挂起协程,不会阻塞io线程,可继续处理新的io事件.

ssl

coro_http_server也支持https,只要设置证书,密码等参数即可.

  coro_http_server server(1, 9001);server.init_ssl("server.crt", "server.key", "test");server.set_http_handler<GET, POST>("/ssl", [](coro_http_request &req, coro_http_response &resp) {resp.set_status_and_content(status_type::ok, "ssl");});server.sync_start();

chunked(上传/下载)

接收chunked

cinatra::coro_http_server server(1, 9001);server.set_http_handler<cinatra::GET, cinatra::POST>("/chunked",[](coro_http_request &req,coro_http_response &resp) -> async_simple::coro::Lazy<void> {assert(req.get_content_type() == content_type::chunked);chunked_result result{};std::string content;while (true) {result = co_await req.get_conn()->read_chunked();if (result.ec) {co_return;}if (result.eof) {break;}content.append(result.data);}std::cout << content << "\n";resp.set_format_type(format_type::chunked);resp.set_status_and_content(status_type::ok, "chunked ok");});

while循环不断的co_await块流数据,直到读完所有的数据为止,使用接口回调模式简单很多.

写chunked流

  server.set_http_handler<cinatra::GET, cinatra::POST>("/write_chunked",[](coro_http_request &req,coro_http_response &resp) -> async_simple::coro::Lazy<void> {resp.set_format_type(format_type::chunked);bool ok;if (ok = co_await resp.get_conn()->begin_chunked(); !ok) {co_return;}std::vector<std::string> vec{"hello", " world", " ok"};for (auto &str : vec) {if (ok = co_await resp.get_conn()->write_chunked(str); !ok) {co_return;}}ok = co_await resp.get_conn()->end_chunked();});

类似,循环不断的co_awaitwrite_chunked(),写完之后调用end_chunked()即可.

http://www.hkea.cn/news/385513/

相关文章:

  • 大片网站建设seo关键词排名优化评价
  • 网络营销推广课程培训苏州seo门户网
  • 做盗版影视网站如何给公司网站做推广
  • 做网站付费流程郑州seo技术
  • 云南网站开发有哪些实用的网络推广方法
  • 央视新闻最新消息今天什么叫seo
  • 网站建设的意义徐州百度推广
  • 建设网站建设的目标百度云盘资源
  • 个体工商户是否能够做网站在线生成个人网站源码
  • 临沂高端网站建设厦门网站推广费用
  • 网站模版友链交易交易平台
  • 武汉做网站找谁百度导航是哪个国家的
  • wordpress互动游戏黄石seo诊断
  • 网页设计作品下载志鸿优化设计
  • 宾馆网站制作seminar是什么意思
  • 网站建设的进度表爱站查询工具
  • 深圳聘请做网站人员长春刚刚最新消息今天
  • 汽配人网做网站沈阳网站seo公司
  • 网站 短链接怎么做网站建设网站定制
  • 网站开发凭证做什么科目百度推广关键词多少合适
  • 网站正在建设 h5模板新闻热点
  • 龙岗公司网站建设怎么上百度搜索
  • 七米网站建设网站自动推广软件免费
  • 余姚公司做网站跨境电商怎么做
  • 顺义哪有做网站厂家百度快照在哪里找
  • 深圳南山网站建设重庆seo黄智
  • 教育微网站建设我要学电脑哪里有短期培训班
  • 民宿预订网站制作推广方案怎么做
  • 做网站都要掌握什么网页模版
  • 网站怎么做qq微信登陆长沙优化网站哪家公司好