swoole2-用swoole搭建http服务器

一.线程和进程的模型

swoole的线程/进程

启动swoole的时候会启动Manager进程和Master进程。对于Manager进程,用于管理Worker进程(我们业务层的逻辑代码一般
放在这里)和Task进程(用于在某个特定的时间或者条件下执行的代码)。对于Master进程,用于底层的开发,后面详细介绍.

二.swoole执行过程

执行过程图解

(1)swoole支持的常用的事件列表
事件名称作用
onStart在启动这个swoole服务器后触发这个事件
onShutdown在swoole服务器关闭时触发这个事件
onWorkerStartworker/task进程启动时触发这个事件
onWorkerStopworker/task进程退出时触发这个事件
onTask有新的任务等待执行
onFinish这个任务执行完成时触发这个事件
onRecive收到了客户端的消息时触发这个事件(重点)
onConnect客户端和服务端建立连接时触发这个事件
onClose客户端和服务端断开连接时触发这个事件
onRequest客户端发起http请求时触发这个事件
(2)swoole执行流程中的几个需要注意的点
1. 在这个swoole服务器启动后,会创建三个进程
	* Manager
	* Worker
	* Task
2.这个Manager进程是Worker进程的守护进程,在这个Worker进程意外结束后,这个Manager进程会重新启动Workder进
	程,Manager进程只有一个,而这个Worker可以有多个。
3.Worker进程通过给这个Task进程发送任务,可以把一些计算量大的任务转移到Task进程,这样我们的Worker进程就可以
	高速处理客户端的请求,提高并发量。
4.reactor线程是swoole底层处理高并发,最大限度的调用底层资源。

三.搭建http服务器

(1)代码说明

<?php
    //(1)创建swool的http服务器对象
    $serv = new swoole_http_server('0.0.0.0',8000);
    //(2)当浏览器链接点这个http服务器的时候,向浏览器发送helloworld
    $serv->on('request',function($request,$response){
        //(2.1)$request包含这个请求的所有信息,比如参数
        //(2.2)$response包含返回给浏览器的所有信息,比如helloworld
        var_dump($request);
        var_dump($response);
        //(2.3)向浏览器发送helloworld
        $response->end("hello world");
    });
    //(3)启动http服务器
    $serv->start();
(2)linux操作小提示
#1.查看进程
ps -aux | grep http-server.php
#2.批量杀死进程
kill -s 9 `ps -aux | grep http-server | awk '{print $2}'`
(3)swoole程序编写流程
1. 创建swoole服务器对象
2. 为这个对象设置回调函数
3. 启动swoole服务器
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值