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计算机兼职的通信,网络通信最终要的就是网络通信协议。
基于swoole框架
Swoft:
首个基于 Swoole 原生协程的新时代 PHP 高性能协程全栈框架,内置协程网络服务器及常用的协程客户端,常驻内存,不依赖传统的 PHP-FPM,全异步非阻塞 IO 实现,以类似于同步客户端的写法实现异步客户端的 使用,没有复杂的异步回调,没有繁琐的 yield, 有类似 Go 语言的协程、灵活的注解、强大的全局依赖注入容器、完善的服务治理、灵活强大的 AOP、标准的 PSR 规范实现等等,可以用于构建高性能的Web系统、 API、中间件、基础服务等等。
EasySwoole EasySwoole:
是一款基于Swoole Server 开发的常驻内存型PHP框架,专为API而生,摆脱传统PHP运行模式在进程唤起和文件加载上带来的性能损失。EasySwoole 高度封装了Swoole Server 而依旧维持Swoole Server 原有特性,支持 同时混合监听HTTP、自定义TCP、UDP协议,让开发者以最低的学习成本和精力编写出多进程,可异步,高可用的应用服务。
SwooleDistributed SwooleDistributed:
老牌Swoole框架拥有最完善的开发工具以及最强大的功能,首创SDHelper开发者工具包和开发者调试命令集,可以进行单元测试,捕获客户端流量分析,可视化的进行远程断点联调,还具备代码覆盖率检测的功能 (swoole与xdebug扩展不兼容,SDHelper无需xdebug扩展),并且内置组件极其丰富(类MQTT强悍的订阅发布/Actor模型/内存高速缓存/事件派发/进程管理/定时任务/AMQP任务调度/后台监控/集群/微服务/RPC/异 步连接池/自定义命令等等),开发者可以直接使用加快开发进度。几乎所有的功能都支持集群化,单机切换到集群无需对代码做任何的修改。如果业务开发比较复杂比如(游戏开发)那么SD框架将是你的不二之选
swoole的应用
如果你的业务中,有用到以上等特性,你又在用使用php,那么完全可以用swoole来完成了,再具体点的场景如下:
1. 互联网
2. 移动通信
3. 企业软件
4. 云计算
5. 网络游戏
6. 物联网(IOT)
7. 车联网
8. 智能家居等领域
可以配合与传统型框架比如laravel,thinkphp6.0进行加速(注意这些框架是ioc容器为核心的)
本质就在于c/s 应用
计算中的client与server
在服务端与客户端通信中主要是根据与服务端提供的可访问的ip地址,以及端口号;
在服务端的设置-》 因为服务端与客户端是一对多的方式,因此为了全部监听接收到稍息那么就需要配置监听为0.0.0.0;
对于服务端和客户端,在进行交互的时候主要是以事件的方式作为驱动,发送事件,接收事件,连接事件,关闭事件
对于连接服务来说主要是三大块的内容, 1;创建连接对象,2:server监听事件,3:启动
推荐扩展
推荐可以下载这个组件 composer require eaglewu/swoole-ide-helper