![](http://m.sbmmt.com/img/upload/article/000/000/037/5dd78cb86ee49517.jpg)
一、什么是swoole
swoole是PHP的异步、并行、高性能网络通信引擎,使用纯C语言编写,提供了PHP语言的异步多线程服务器,异步TCP/UDP网络客户端,异步MySQL,异步Redis,数据库连接池,AsyncTask,消息队列,毫秒定时器,异步文件读写,异步DNS查询。 swoole内置了Http/WebSocket服务器端/客户端、Http2.0服务器端。
swoole是php的一个扩展,主打高性能的网络编程扩展,由于扩展使用c语言编写,性能上会比php实现的框架快很多。而且因为swoole的内部实现给php提供了比apache+php更多的灵活性。
swoole不是一个像Zend Framework、CakePHP、Yii、symfony、ThinkPHP等一样的框架,也不是一个像WordPress、Drupal、Discuz、UChome等开源产品看齐的项目。 Swoole的目标是向Java框架、Ruby On Rails、Python DjangoPylons等一流框架发起挑战。
运行环境:Linux Windows Mac FreeBSD Unix
PHP版本支持:PHP5.3+
支持的数据库:MS SQL Server、MySQL、IBM DB2、Oracle、Interbase 、SQLite、PostgreSQL、ODBC
支持的运行方式:Web、Cli命令行脚本、PHP-GTK GUI。
二、官网介绍是:
swoole是PHP的异步、并行、高性能网络通信引擎,使用纯C语言编写,提供了PHP语言的异步多线程服务器,异步TCP/UDP网络客户端,异步MySQL,异步Redis,数据库连接池,AsyncTask,消息队列,毫秒定时器,异步文件读写,异步DNS查询。 Swoole内置了Http/WebSocket服务器端/客户端、Http2.0服务器端。
友情链接:http://www.swoole.com/
三、swoole运行机制:
在进行系统的学习swoole之前,先来说下swoole的原理和机制,我觉得知道了会对它有一个大致的了解。
swoole虽然是标准的PHP扩展,实际上与普通的扩展不同。普通的扩展只是提供一个库函数。而swoole扩展在运行后会接管PHP的控制权,进入事件循环。当IO事件发生后,swoole会自动回调指定的PHP函数。
也就是说,swoole就是个披了php外衣的nginx,大量的功能都是用c来实现。一些功能的调用其实并没php什么事,它只是个纯粹的胶水,有什么功能全用c在实现,然后执行完成再回调给php。
所以,你相当于在用php语法来写底层的c服务,你并不需要了解底层的实现逻辑,你会用php就足够了,nice;
四、swoole提供的功能库:
在说下swoole提供了哪些功能给我们用,以为我们用到哪些服务时,可以用swoole来帮我们实现。
[X] http服务 ,编写一个简单的web server。
[X] TCP/UDP服务 ,编写一个消息接受处理系统。
[X] 异步,可以异步的处理请求。
[X] 并发 ,可以并发的处理同一个业务逻辑。
[X] socket,socket通讯处理技术。
[X] 毫秒级别定时器,可以在php中使用定时器了。
[X] 协程,相比线程更稳定和好用。
如果你的业务中,有用到以上等特性,你又在用使用php,那么完全可以用swoole来完成了。
五、swoole应用:
Swoole可以广泛应用于互联网、移动通信、企业软件、云计算、网络游戏、物联网(IOT)、车联网、智能家居等领域。 使用PHP+Swoole作为网络通信框架,可以使企业IT研发团队的效率大大提升,更加专注于开发创新产品。
PHP中文网,大量的免费swoole入门教程,欢迎在线学习!
以上就是一文了解什么是swoole的详细内容,更多请关注php中文网其它相关文章!