01 - swoole的快速入门

woole官网:https://www.swoole.com/
swoole文档:https://wiki.swoole.com/
开源中国源码:https://gitee.com/swoole/swoole/tree/master/

1、swoole的理解

根据swoole的官方网站的介绍:swoole是一个为PHP用C和C++编写的基于事件的高性能异步&协程并行网络通信引擎

对于这句话,我们可以拆分为几个方面去理解swoole:

  1. swoole是用CC++去编写的一个php扩展;

我们在使用swoole的时候就可以像使用php其他扩展一样,通过安装和开启扩展后直接使用,

  1. swoole 是一个网络通信引擎

在这里,我们首先简单介绍下网络通信的2个架构:b/sc/s

b/s就是Brower/Server,浏览器/服务器模式,是Web兴起后的一种网络结构模式,即在浏览器请求,服务器响应的工作模式,是现在主流用的一种通信方式。
工作流程可以分为:
1、浏览器发送请求: 用户想访问一个网站,在浏览器上通过http/https向服务器发送请求,等待服务器响应;
2、服务器端处理请求: 服务器端接收并处理请求,应用服务器端通常使用服务器端技术,如JSP等,对请求进行数据处理,并产生响应;
3、服务器端发送响应: 服务器端把用户请求的数据(网页文件、图片、声音等等)返回给浏览器。
4、浏览器解释执行HTML文件,呈现用户界面。

c/s就是客户端/服务端模式,是web兴起之前的一种通信方式,也是现在比较流行的一种通信方式,跟b/s不同的是,跟服务端通信的客户端是指的是各类软件,而不单指浏览器,他在程序电脑中广泛引用,就如浏览器和window的通信,而它为什么会现在重新兴起是由于b/s这种架构有个特点,只能请求一次,服务端只会响应一次,是一种短连接,但是随着发展,由于跟着互动交互的需要,这种架构不能满足,而c/s它能保存连接,交互频率高,可以一种保持通信,是一种短连接或者长连接,从而重新兴起,比如qq,微信等。

总而言之,通过这两种架构的简单了解,我们可以知道网络就是程序之间的数据交流的连接,从而达到资源共享和通信的目的。通信是人与人之间通过某种媒体进行的信息交流与传递。网络通信是通过网络将各个独立的设备进行连接,通过信息交换实现人与人,人与计算机,计算机与计算机之间的通信,网络通信最终要的就是网络通信协议。

而传统的php的web框架都是基于b/s开发的,swoole的出现就是为了让php也能基于c/s开发,提高效率,所以学习swoole其实就是学习网络编程

  1. 具有高性能

swoole由于底层是C和C++编写的,它有很高的性能,体现在消耗同样的资源,响应更快。比如并发1万个请求从MySQL读取海量数据仅需要0.2秒

  1. 基于事件的

某一个动作发生的时候就可以称之为事件,例子:前台js的鼠标点击事件,
swoole是基于事件并用闭包的方式去开发编程的。例如

//创建Server对象,监听 127.0.0.1:9501端口
$serv = new Swoole\Server("127.0.0.1", 9501); 
//监听连接进入事件
$serv->on('Connect', function ($serv, $fd) {  
    echo "Client: Connect.\n";
});

这是创建一个tcp服务器,并用闭包的方式去编写客户端连接事件要触发的动作。

  1. 异步&协程

暂时可以理解为只是一种程序执行的模式。

2、swoole的应用

  1. swoole是一个网络通信引擎,可以传统的web框架结合使用,做到高性能,提升性能,进行加速,不过要与swoole结合使用,框架必须是以ioc容器为核心的,例如laravel,yii等。
  2. swoole的具体使用场景可以参照c/s架构来考虑,这也是为什么swoole会流行的本质原因,它广泛应用于互联网、移动通信、企业软件、云计算、网络游戏、物联网(IOT)、车联网、智能家居等领域。 使用 PHP + Swoole 作为网络通信框架,可以使企业 IT 研发团队的效率大大提升,更加专注于开发创新产品。

3、客户端和服务端的简单理解

客户端:可以理解为需要服务的人。
服务端:可以理解为提供服务的人。
客户端和服务端其实是一个相对的概念,在不通的场景,同个介质可以是客户端也可以是服务端。比如浏览器访问由php搭建的网站,这是由php搭建的网站是服务端,浏览器就是客户端,而访问需要数据,php需要通过pdo连接mysql获取数据,在这一过程中,php就作为客户端,mysql作为服务端。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 200,302评论 5 470
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,232评论 2 377
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 147,337评论 0 332
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,977评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,920评论 5 360
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,194评论 1 277
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,638评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,319评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,455评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,379评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,426评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,106评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,696评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,786评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,996评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,467评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,043评论 2 341

推荐阅读更多精彩内容

  • 前言 上一回讲到,Swoole终于成功邂逅了PHP,现在要开始它们的奇妙路程了。 Server之初 通常,我们会把...
    零一间阅读 2,853评论 0 12
  • 一、前言 最近由于工作需要,将应用里的部分功能需要推送系统,发现PHP的一个扩展插件swoole。由于经验不足,安...
    极客小寨阅读 1,384评论 0 7
  • 参考资料 官方网站 https://www.swoole.com/page/download PHP没有像Pyth...
    JunChow520阅读 2,935评论 0 6
  • 什么是WebSocket呢? WebSocket是HTML5新增的一种通信协议,目标主流的浏览器都支持这个协议,比...
    JunChow520阅读 7,345评论 1 5
  • 恬淡人生 洗尽铅华 夕阳西下 再也没有 断肠人在天涯 因为 亲爱的你 有我 在等你回家 无论多远 无论多久
    妮妮小阿狸阅读 113评论 2 2