Swoole 教程

分类:后端教程
标签:

swoole

Swoole:重新定义PHP

PHP的异步、并行、高性能网络通信引擎,使用纯C语言编写,提供了PHP语言的异步多线程服务器。异步TCP/UDP网络客户端,异步MySQL,异步 Redis,数据库连接池,AsyncTask,消息队列,毫秒定时器,异步文件读写,异步DNS查询。 Swoole内置了Http/WebSocket服务器端/客户端、Http2.0服务器端。
Swoole可以广泛应用于互联网、移动通信、企业软件、云计算、网络游戏、物联网(IOT)、车联网、智能家居等领域。 使用PHP+Swoole作为网络通信框架,可以使企业IT研发团队的效率大大提升,更加专注于开发创新产品。

目录

标题 说明
写在前面本书默认读者已具备如下能力: 熟练使用PHP语言 熟练使用MySQL、Redis数据库 熟练使用Linux操作系统 基本了解Unix网络编程相关知识(参阅《Unix网络编程(卷1)》) 基本的gdb使用
Swoole 开发环境搭建本章将详细介绍如何搭建Swoole的开发环境,包括PHP的安装、Swoole的安装、相关扩展的安装等等。 通过学习本章,你可以学到如何快速搭建一套完整的Swoole开发环境。
搭建 Echo 服务器所有讲解网络通信编程的书籍都会最先讲解如何编写一个Echo服务器,本书也不例外。本章将讲解如何快速编写一个基于Swoole扩展的Echo服务器。
Swoole Worker进程Worker进程作为Swoole的工作进程,所有的业务逻辑代码均在此进程上运行。当Reactor线程接收到来自客户端的数据后,会将数据打包通过管道发送给某个Worker进程(数据分配方法见dispatch_mode)。
TaskWorker 进程Task Worker是Swoole中一种特殊的工作进程,该进程的作用是处理一些耗时较长的任务,以达到释放Worker进程的目的。Worker进程可以通过swoole_server对象的task方法投递一个任务到Task Worker进程,其流程如下所示: Worker进程通过Unix Sock管道将数据发送给Task Worker,这样Worker进程就可以继续处理新的逻辑,无需等待耗时任务的执行。需要注意的是,由于Task Worker是独立进程,因此无法直接在两个进程之间共享全局变量,需要使用
Timer定时器Timer定时器是Swoole扩展提供的一个毫秒级定时器,其作用是每隔指定的时间间隔之后执行一次指定的回调函数,以实现定时执行任务的功能。 新版本的Swoole中,定时器是基于epoll方法的timeout机制实现的,不再依赖于单独的定时线程,准确度更高。同时,Swoole扩展使用最小堆存储定时器,减少定时器的检索次数,提高了运行效率。
多端口监听在实际运用场景中,服务器可能需要监听不同host下的不同端口。比如,一个应用服务器,可能需要监听外网的服务端口,同时也需要监听内网的管理端口。在Swoole中,可以轻松的实现这样的功能。
SSL支持本章将详细讲解如何制作证书以及如何开启Swoole的SSL的单向、双向认证。
Swoole 配置选项在swoole中,一个swoole_server的相关属性可以通过 $serv->set( array $configs ); 函数来配置,这些配置选项使得swoole更加灵活。

现在开始学习Swoole 教程第一章 : 写在前面


本教程固定链接:http://www.rumen5.com/61392.html

上一篇:Git 教程

下一篇:React 教程

QQ空间新浪微博腾讯微博人人网微信