完全协程化的 HTTP 服务器实现,Co\Http\Server 继承自 Co\Server。
与 Http\Server 的不同之处:
可以在运行时动态地创建、销毁
对连接的处理是在单独的子协程中完成,客户端连接的 Connect、Request、Response、Close 是完全串行的

Co\run(function () {$server = new Co\Http\Server("0.0.0.0", 8811);//监听全网段地址、端口$server->set(['enable_static_handler' => true,'document_root' => "/usr/local/var/www/swoole_mooc/data",]);$server->handle('/', function ($request, $response) {if ($request->server['request_uri'] == "/favicon.ico"){$response->end("not data");}//这里是谷歌浏览器默认多一次请求,根据需求排除多余请求$response->end("ceshi");//打印});//覆盖父类的 handle 方法,处理 HTTP 请求。$server->handle('/test', function ($request, $response) {$response->end("<test");});$server->handle('/stop', function ($request, $response) use ($server) {$response->end("stop");$server->shutdown();});$server->start();
});

浏览器结果,根据请求的参数可以划分模块,控制器和方法,构建一个mvc小框架。


注意:服务端出现了一个warning,待解决更新…

Warning: Swoole\Http\Response::end(): http response is unavailable (maybe it has been ended or detached) in /usr/local/var/www/swoole_mooc/demo/swoole4.x/coroutine/http-server.php on line 15

Swoole---Http(协程风格)相关推荐

  1. Go的协程与Swoole的协程的区别:环境支持 线程

    Go语言层面支持协程,不需要声明协程环境.Swoole 必须在协程的上下文环境中使用. Go基于多线程的,可以利用多核 CPU,Swoole 的协程是基于单线程的, 无法利用多核CPU

  2. swoole mysql 协程_Swoole 协程 MySQL 客户端与异步回调 MySQL 客户端的对比

    Swoole 协程 MySql 客户端与 异步回调 MySql 客户端的对比 为什么要对比这两种不同模式的客户端? 异步 MySQL 回调客户端是虽然在 Swoole 1.8.6 版本就已经发布了, ...

  3. swoole mysql 协程_关于协程的优点以及swoole 协程的用法

    在上篇文章中php yield关键字以及协程的实现  我们讲到了协程的原理以及运行步骤. 现在我们来继续看下协程的执行顺序. 协程的运行是交叉式运行(串行),只要你发起了一次协程切换,则会立马暂停当前 ...

  4. swoole mysql 协程_swoole-orm: 基于swoole的mysql协程连接池,简单封装。实现多个协程间共用同一个协程客户端。参考thinkphp-orm...

    swoole-orm 基于swoole的mysql协程连接池,简单封装. 实现多个协程间共用同一个协程客户端 感谢完善 [1]:nowbe -> 新增数据返回insert_id 版本 v0.0. ...

  5. 利用swoole coroutine协程实现redis异步操作

    <?php #注意:可能会遇到这样的现象,用swoole协程的方法访问常规方法添加到redis中的数据,可能访问不到(直接返回NULL)!这可能是两者采用了不同的技术标准所致!项目中要统一标准 ...

  6. Swoft 1.0 正式来袭,首个基于 Swoole 原生协程的框架

    历时 1 年多紧锣密鼓的开发,以及愉快而忙碌的春节假期,期间 github star 数从 500 到快破 1k,码云首页推荐,Swoole 作者 Rango 和社区的大力支持,Swoft 1.0 正 ...

  7. Swoft 2 Beta 发布,基于 Swoole 的云原生协程框架

    Swoft 是首个基于 Swoole 原生协程的框架,从开发到发布据今已有2年多. 1.x 发布以来,已有大量的开发人员和企业使用,得到了大家的认可.从去年11月份开始,将近半年的时间从零开始,底层吸 ...

  8. php swoole hyperf,【php】Hyperf为什么要关闭Swoole协程短名称

    在Hyperf官方文档的服务器要求中提到 并且,在文档的常见问题中也会看到Swoole 短名未关闭这一个tag. 我想问了,那为什么hyperf一定要关闭掉Swoole的协程短名称呢 首先,我们先看一 ...

  9. php协程 多线程,【swoole.2.01】多进程,多线程和协程

    前言 在体验swoole的协程功能之前,需要先知道多进程,多线程和协程的区别. 多进程 典型的多进程结构就是耳熟能详的master-worker结构.swoole本身也是由master-maneger ...

最新文章

  1. 零基础自学Python:安装Python、解释器、代码风格等
  2. Android开发精要3--Android中的Intent机制
  3. Linux内核中的GPIO系统之(3):pin controller driver代码分析
  4. 归并排序及C语言实现
  5. 群晖docker装huginn_应用篇:Docker版Zerotier实现内网穿透
  6. okhttp上传图片和其他参数_Android中Okhttp3实现上传多张图片同时传递参数_放手_前端开发者...
  7. 【转】禁用Chrome和Firefox中自动播放的动画GIF
  8. 关于gcc扩展中的宏定义中用 # 和 ##
  9. 【前端】第二章 HTML、CSS、JavaScript、DOM和JSON
  10. signature=fc89d4352b6699754c14ce282ec75426,Broken chiral symmetry on a null plane
  11. 绵阳创客开发长语音识别平台 1小时语音10分钟转化为文字
  12. 渠道效果五步优化,让采购的流量物超所值
  13. SQL中 and or in的用法
  14. 开发Connext DDS传输插件不用求人,看这一篇就够了
  15. 28、星历处理任务实现
  16. JavaScript保留小数位数代码
  17. 笔记本RTX3060比2060性能高多少 RTX3060和2060笔记本差距多大
  18. SourceTree的简单使用 - 变基(rebase)
  19. 快速学完计算机网络,如何让电脑网速变快 5分钟就学会
  20. 如何实现基于微信小程序的人脸识别

热门文章

  1. 微信公众号如何变得更好_过去十年,或者说如何在任何事情上变得更好
  2. iOS上二维码和一维码识别系列一
  3. 什么是IOC(控制反转)、DI(依赖注入)
  4. 噪音恐惧症_比恐惧强:公开的心理健康
  5. UE4-VaRest插件
  6. VS Code 引入pthread.h头文件
  7. “Papi酱”之后,走向平庸的短视频,还有什么机会?
  8. mac系统还原和更新
  9. D90四种对焦点模式
  10. python制作三维散点图