您的位置 首页 技术

一文了解什么是swoole

一、什么是swoole swoole是PHP的异步、并行、高性能网络通信引擎,使用纯C语言编写,提供了PHP语言的异步多线程服务器,异步TCP/UDP网络客户端,异步MySQL,异…

一、什么是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;

1574407657.jpg

四、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的详细内容,更多请关注24课堂在线网其它相关文章!

本文来自网络,不代表24小时课堂在线立场,转载请注明出处:https://www.24ketang.cn/14305.html

为您推荐

返回顶部