1.swoole快速入门

1. swoole的理解
woole 官网: https://www.swoole.com/
swoole 文档: https://wiki.swoole.com/
开源中国源码: https://gitee.com/swoole/swoole/tree/master/
根据 swoole 的介绍: Swoole 是一个为 PHP C C++ 编写的基于事件的高性能异步 & 协程并行网络通信引擎
使 PHP 开发人员可以编写高性能的协程 TCP UDP Unix Socket HTTP WebSocket 服务。 Swoole 可以广泛应用于互联网、移动通信、企业软件、云计算、网络游戏、物联网( IOT )、车联网、智能家居等领域。 使
PHP + Swoole 作为网络通信框架,可以使企业 IT 研发团队的效率大大提升,更加专注于开发创新产品。
拆分理解:
1. swoole 是一个 php 的扩展, 是由 C/C++ 编辑的
2. swoole 是基于事件的 高性能异步 & 协程并行 的网络通
 
什么是事件?
就是某一个动作发生的时候就可以称之为事件,例子:前台 js 的鼠标点击事件
 
异步 - 协程并行
暂时可以理解为只是一种程序执行的模式,后面会详细解释
 
网络通信引擎
网络就是程序之间的数据交流的连接,从而达到资源共享和通信的目的。通信是人与人之间通过某种媒体进行的信息交流与传递。网络通信是通过网络将各个鼓励的设备进行连接,通过信息交换实现人与人,人与计算
机,计算机 u 计算机兼职的通信,网络通信最终要的就是网络通信协议。
1.2 swoole 具备什么功能?
swoole 提供了哪些功能给我们用,以为我们用到哪些服务时,可以用 swoole 来帮我们实现。
http 服务 ,编写一个简单的 web server
TCP/UDP 服务 ,编写一个消息接受处理系统。
异步,可以异步的处理请求。
并发 ,可以并发的处理同一个业务逻辑。
socket socket 通讯处理技术。
毫秒级别定时器,可以在 php 中使用定时器了。
协程,相比线程更稳定和好用。
 
3. swoole的应用
如果你的业务中,有用到以上等特性,你又在用使用 php ,那么完全可以用 swoole 来完成了 , 再具体点的场景如下:
1. 互联网
2. 移动通信
3. 企业软件
4. 云计算
5. 网络游戏
6. 物联网( IOT
7. 车联网
8. 智能家居等领域
可以配合与传统型框架比如 laravel thinkphp6.0 进行加速(注意这些框架是 ioc 容器为核心的)
本质就在于 c/s 应用
 
4. swoole体验及客户端与服务端
tcp 服务为例解释:
 
serve
<?php 
// 1. 创建swoole 默认创建的是一个同步的阻塞tcp服务 
$host = "192.168.186.129"; // 0.0.0.0 代表接听所有 
// 创建Server对象,监听 127.0.0.1:9501端口 
// 默认是tcp 
$serv = new Swoole\Server($host, 9501);  

//2. 注册事件 

$serv->on('Start', function($serv){ 
    echo "启动swoole 监听的信息tcp:$host:9501\n"; 
}); 

//监听连接进入事件 
$serv->on('Connect', function ($serv, $fd) { 
    echo "Client: Connect.\n"; 
}); 

//监听数据接收事件 
$serv->on('Receive', function ($serv, $fd, $from_id, $data) { 
    $serv->send($fd, "Server: ".$data); 
}); 

//监听连接关闭事件 
$serv->on('Close', function ($serv, $fd) { 
    echo "Client: Close.\n"; 
}); 

// 3. 启动服务器 
// 阻塞 
$serv->start(); // 阻塞与非阻塞 
?>

composer require eaglewu/swoole-ide-helper

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值