按照官方说法,Swoole是面向生产环境的PHP异步网络通信引擎,那这到底是做什么的呢,顾名思义,这是一个关于网络通信的,它是一个PHP扩展,该扩展并不是为了提升网站性能,而是提升网站的开发效率,相信做PHP的工程师们都知道PHP其实有很多局限性,比如网络通信,异步IO,其实Swoole的诞生就是弥补PHP在这些方面的缺陷,Swoole就是一个基础库,一个用C编写的PHP扩展,它提供了网络层的很多功能,算是为PHP工程师们打开了通往另一个世界的大门。
简单说一下Swoole的原理,长期以来,基于HTTP的PHP对于一些快速响应和实时响应方面比较乏力,例如,举一个场景,如果我们要开发网络游戏,这需要与用户长期保持一个TCP连接,其实这是很难的,那Swoole就是解决这样的应用场景的,那究竟是怎么实现的呢,大家都知道,我们用PHP开发程序,常用的WEB服务器可能是Apache,也可能是Nginx,这些WEB服务器其实就是自身封装了socket,可以实现并发处理,当客户端请求到Apache或者Nginx的时候,他们直接通过fastcgi端口交给PHP处理,相当于PHP与客户端有一层代理,那我们安装了Swoole之后,它可以让PHP自身建立通信服务,不需要Apache或者Nginx代理,直接监听端口实现与客户端的通信,也就是说Swoole封装了用于通信的socket服务,让PHP直接与客户端进行交互,小伙伴们,这下明白了吧。
领取专属 10元无门槛券
私享最新 技术干货