swoole 订阅
Swoole是一个面向生产环境的 PHP 异步网络通信引擎,使 PHP 开发人员可以编写高性能的异步并发 TCP、UDP、Unix Socket、HTTP,WebSocket 服务。Swoole 可以广泛应用于互联网、移动通信、企业软件、云计算、网络游戏、物联网(IOT)、车联网、智能家居等领域。 使用 PHP + Swoole 作为网络通信框架,可以使企业 IT 研发团队的效率大大提升。 [1] 展开全文
Swoole是一个面向生产环境的 PHP 异步网络通信引擎,使 PHP 开发人员可以编写高性能的异步并发 TCP、UDP、Unix Socket、HTTP,WebSocket 服务。Swoole 可以广泛应用于互联网、移动通信、企业软件、云计算、网络游戏、物联网(IOT)、车联网、智能家居等领域。 使用 PHP + Swoole 作为网络通信框架,可以使企业 IT 研发团队的效率大大提升。 [1]
信息
特    点
可以在很短的时间内完成
类    别
面向生产环境的PHP异步网络通信引擎
运行环境
Linux Windows Mac FreeBSD Unix
中文名
Swoole
性    质
一种PHP高级Web开发框架
目    的
提升网站的开发效率
Swoole简介
Swoole不是一个像Zend Framework、CakePHP、Yii、symfony、ThinkPHP等一样的框架,也不是一个像WordPress、Drupal、Discuz、UChome等开源产品看齐的项目。 Swoole的目标是向Java框架、Ruby On Rails、Python DjangoPylons等一流框架发起挑战。PHP版本支持:PHP5.3+支持的数据库:MS SQL Server、MySQL、IBM DB2、Oracle、Interbase 、SQLite、PostgreSQL、ODBC支持的运行方式:Web、Cli命令行脚本、PHP-GTK GUI。 [2] 
收起全文
精华内容
下载资源
问答
  • swoole

    2019-08-07 11:58:40
    本系统参考osgochina/Donkey...基于swoole的定时器程序,支持秒级处理. 异步多进程处理. 完全兼容crontab语法,且支持秒的配置. 去中心-多客户端模式,能够横向扩展. web界面管理,增删改查任务,完整的权限控制.
  • Swoole

    2019-12-02 16:05:34
    laravel-swoole easyswoole【推荐、框架】 swoft 【也不错】 laravel-s 【学院君有教程、插件】 hyperf 【也不错】 one laravoole mix easyswoole、hyperf、mixphp 这些都是基于 Swoole 的框架,而 TP5、...

    laravel-swoole

    easyswoole 【推荐、框架】

    swoft  【也不错】

    laravel-s   【学院君有教程、插件】

    hyperf   【也不错】

    one

    laravoole

    mix

     

    easyswoole、hyperf、mixphp 这些都是基于 Swoole 的框架,而 TP5、Laravel、Yii 这些是基于 PHP-FPM 的框架,但是上面有些是laravel的扩展包。

     

    webim  【网页即时聊天工具,swoole创作者韩天峰写的】

    SPF (Swoole PHP Framework)【世界第一款基于Swoole扩展的PHP框架,开发者是Swoole创始人】

    展开全文
  • swoole:swoole库-源码

    2021-05-01 20:07:17
    SWOOLE swoole library 环境依赖 Swoole 1.8.x+ PHP 5.4+ Composer Install Install composer curl -sS https://getcomposer.org/installer | php Install swoole cd swoole-src phpize ./configure make && make ...
  • swoole old

    2018-10-17 15:52:07
    swoole 旧版本 代码
  • Swoole中文文档 全量MarkDown版本 简介 PHP的异步,并行,高效网络通信引擎,使用纯C语言,提供,, , ,, ,,,,。Swoole内置了/, /。 Swoole底层内置了异步非阻塞,多线程的网络IO服务器.PHP程序员仅需处理...
  • easyswoole

    2018-07-26 14:22:49
    easyswoole,php服务端框架,必须php7.1及以上, swoole 1.9.2以上, pcntl , Linux, 简单配置config.php即可直接使用。 php easyswoole start 开启服务
  • swoole 手册

    2016-08-21 10:33:54
    swoole 手册
  • swoole文档

    2018-02-27 11:59:40
    swoole 文档,方便开发者查询~~~~~~~~~~~~~~ swoole 文档,方便开发者查询
  • swoole-framework swoole基础框架
  • Swoole扩展

    2016-09-18 22:27:45
    Swoole可以广泛应用于互联网、移动通信、企业软件、云计算、网络游戏、物联网(IOT)、车联网、智能家居等领域。 使用PHP+Swoole作为网络通信框架,可以使企业IT研发团队的效率大大提升,更加专注于开发创新产品。 ...
  • swoole-了解swoole

    2019-03-28 12:59:51
    什么是swoole swoole是php的异步、并行、高性能网络通信引擎。使用纯C/c++语言编写,提供了php语言的异步多线程服务器。 swoole内置了http/websocket服务器端/客户端、http2.0服务器端。 异步tcp/udp网络客户端,...

    初识swoole

    swoole官网https://www.swoole.com/

    可能需要掌握一些tcp/ip

    • 入门书籍:《tcp/ip网络编程(尹圣雨 韩)》。
    • 深入书籍:《unix环境高级编程(中文第三版)》;《unix网络编程卷1:套接字联网》;《unix网络编程卷2:进程间通信》。

    题外话
    swoole补充了对比其他语言没有的网络编程库,紧接着学习swoft框架,微服务。最后通过swoole可以进一步学习go语言。

    swoole vs workman
    swoole是C语言编写,不依靠php的扩展。workman依赖php的扩展。swoole的特性更丰富、稳定性好一些,但workman可以用来了解背后的基本原理。

    基于swoole扩展的框架

    • swoft 社区比较活跃
    • easyswoole 相对简单 轻量级
    • swooleDistributed

    传统框架和swoole框架
    swoole框架在性能方面比传统框架要高很多,没有性能要求则使用传统框架。

    版本
    已更新至4.3。swoole2.0增加协程。swoole3.0以上版本要求php>=7.0。

    开发工具
    在这里插入图片描述
    这两个还是蛮实用的。
    在这里插入图片描述
    IDE helper包下载后放进任意目录,然后IDE include path即可。
    在这里插入图片描述
    学习swoole 的注意事项

    • swoole一般是linux环境。
    • 阿里云安全组开放协议、端口。服务器如有防火墙,开放端口。

    一些概念

    swoole入门指引
    在这里插入图片描述

    swoole底层是C写的。swoole系列函数可以理解为swoole提供给php的api,php通过swoole系列函数调用swoole的api,来启动swoole服务、注册回调函数等,swoole的事件驱动来执行对应的回调函数。这完全区别于普通的php扩展只提供库函数,而对于swoole,php只是传递的作用,真正的程序控制权是swoole。

    学习swoole的基础知识
    在这里插入图片描述

    linux是必须的。学习swoole需要对进程线程、异步同步、IO复用、reactor模型、进程间通讯、信号等概念有所了解,可学习《tcp/ip网络编程》这本书做简单的理解,通过php对应的扩展,借鉴workman源码来理解机制,这样会对swoole的学习有很大帮助。

    swoole的实现
    手册

    swoole并没有用libevent,所以不需要安装libevent。swoole并不依赖php的stream/sockets/pcntl/posix/sysvmsg等扩展

    libevent是一个事件驱动库,php有对应的event扩展,可帮助理解swoole的io复用和事件机制。
    stream/sockets是网络通讯的工具、可帮助理解swoole的tcp/udp/http。
    pcntl/posix是进程控制扩展,可帮助理解swoole中的多进程、进程间通讯。
    sysvmsg消息队列,可帮助理解swoole中的task模块。

    swoole进程结构
    在这里插入图片描述

    • Master主进程
    • manager管理进程
    • worker子进程
    • task任务进程
    • MainReactor主线程
    • reactor线程组

    Swoole的进程/线程模型:
    在这里插入图片描述
    Swoole程序的执行流程:
    在这里插入图片描述
    这里暂不介绍了,接下来会逐渐涉及。

    Server部分文档概述

    swoole我也是初学,理解不到位的请谅解。

    整体
    在这里插入图片描述

    从server入手

    在这里插入图片描述
    函数列表
    在这里插入图片描述
    这里的意思是$server对象可以调用的函数,接下来理解下这部分。
    比如我们用__construct先创建一个$server

    $server = new Server(
    string $host, //监听的Ip地址,通常为0.0.0.0,监听所有ip地址
    int $port = 0, //端口
    int $mode = SWOOLE_PROCESS,//默认多进程模式
    int $sock_type = SWOOLE_SOCK_TCP);//TCP UDP 默认TCP
    
    // 创建server
    $server=new Swoole\Server("0.0.0.0",6001);
    

    那么函数列表里的函数,是$server调用的。
    可能在外层调用:

    1) server :: __construct 构造函数 创建一个tcp/udp服务器
    $server=new Swoole\Server("0.0.0.0",6001);
    
    2)server->set 为服务器配置选项
    $server->set([
    		'worker_num'=>1, //子进程数量
    	]);
    
    3)server->on 注册事件
    $server->on('connect',function(){
    	echo "new connect!".PHP_EOL;
    });
    
    $server->on('receive',function(){
    	echo "new message received!".PHP_EOL;
    });
    
    $server->on('close',function(){
    	echo "one client closed!".PHP_EOL;
    });
    
    4)server->start 启动服务器
    $server->start();
    

    也可能在回调中调用:server->send server->close

    $server->on('receive',function($server, $fd){
    	$server->send($fd, 'Swoole: '.$data);
        $server->close($fd);
    });
    

    总之函数下的所有函数是$server调用的。

    属性列表
    在这里插入图片描述
    这个没什么好说的,获取配置项,获取主进程pid,获取当前子进程编号id等等。

    配置选项
    在这里插入图片描述
    配置选项在server->set函数中设置,比如设置子进程数量:

    $server->set([
    		'worker_num'=>1,
    	]);
    

    以此类推,放进数组里即可。

    监听端口
    在这里插入图片描述
    监听端口是swoole支持多协议多端口,即一个服务器上(一个php文件代码上)可以支持多个协议的业务,可以监听多个端口,这就厉害了,不用另外创建一个单独的服务器(再写一个php脚本)。

    下面的可选参数,可选回调什么意思呢?
    比如监听一个新的端口:

    //主服务器 $server->
    $server=new Swoole\Server("0.0.0.0",6001);
    $server->set([
    		'worker_num'=>1,
    	]);
    $server->on('connect',function(){
    });
    $server->on('receive',function($server, $fd){
    });
    $server->on('close',function(){
    });
    	
    //监听一个新端口 注意下面都是$port1->
    $port1 = $server->listen("0.0.0.0", 9501, SWOOLE_SOCK_TCP);
    $port1->set([
     	//可选参数
    	]);
    	
    //可选回调
    $port1->on('connect',function(){
    });
    $port1>on('receive',function($server, $fd){
    });
    $port1->on('close',function(){
    });
    

    下面的port1,->set支持的参数,->on支持的回调,是有限制的。它和server不是平级的,也就是说有些参数和回调是server级别的。比如->set([‘worker_num’=>1])是server独有的配置参数,port1不能配置。哪些参数可以配置,哪些不可以配置,文档中有说明,需要注意这点。

    预定义常量
    在这里插入图片描述
    看看就好

    事件回调函数
    在这里插入图片描述
    事件回调函数是在server->on()中配置的。上边已有很多示例了,只需要各自了解使用场景就好。

    好了,整个server的大体已经了解完了

    展开全文
  • FastD旋风 高端网络服务组件。提供一流的服务封装,基础管理及客户端调用功能。使用composer进行管理,可在此基础上进行封装整合。...服务继承FastD\Swoole\Server ,实现doWork方法,服务器在接收信息onRe
  • swoole2.0.9源代码下载,swoole是一个php扩展,下载后可以直接安装swoole
  • Swoole入门的学习笔记,从零开始学Swoole。 持续更新... 项目结构 ├─ Swoole │ ├─ 1.Swoole 启动一个服务,开启了哪些进程和线程? │ ├─ 2.Swoole Timer 的应用 │ ├─ 3.Swoole Task 的应用 │ ├─ 4....
  • swoole开发手册,swoole.chm 开发手册
  • Easyswoole骨架 Easyswoole骨架
  • swoole-JsonRPC use swoole for jsonRpc(运用swoole简单实现jsonRPC) Requirements PHP 5.3+ Swoole 1.7.16 Linux, OS X and basic Windows support (Thinks to cygwin) Installation Swoole Install from pecl ...
  • swoole-连接池

    2020-10-17 21:19:37
    swoole连接池,swoole连接池,swoole连接池,swoole连接池,swoole连接池,swoole连接池,swoole连接池~
  • Swoole】安装swoole

    2018-10-16 08:26:28
    yum install php-devel php-pear... wget https://github.com/swoole/swoole-src/archive/swoole-1.7.6-stable.tar.gz  tar -zxvf swoole-1.7.6-stable.tar.gz  cd swoole-src-swoole-1.7.6-stable  phpize  yu...

      yum install php-devel php-pear
      wget https://github.com/swoole/swoole-src/archive/swoole-1.7.6-stable.tar.gz
      tar -zxvf swoole-1.7.6-stable.tar.gz
      cd swoole-src-swoole-1.7.6-stable
      phpize
      yum install pcre-devel
      ./configure --with-included-apr
      make
      make test
      打开php.ini添加extension="/swoole-src-swoole-1.7.6-stable/modules/swoole.so"
      /etc/init.d/php-fpm  restart
      php -m(可以看见swoole)
      service httpd restart
      在网页上打开phpinfo,可以搜索到swoole

    展开全文
  • Swoole 介绍

    2021-07-05 16:04:09
    什么是 Swool Swoole 是一个使用纯 C 语言编写的(Swoole 4 开始逐渐改为通过 C++ 编写),基于异步事件驱动和协程的并行网络通信引擎,为PHP提供高性能网络...Swoole 底层内置了异步非阻塞、多线程的网络IO服务器。PH

    什么是 Swoole

    Swoole 是一个使用纯 C 语言编写的(Swoole 4 开始逐渐改为通过 C++ 编写),基于异步事件驱动和协程的并行网络通信引擎,为PHP提供高性能网络编程支持。

    Swoole 的特点

    Swoole 是运行在PHP下的一个extesion扩展,实际上与普通的扩展不同。普通的扩展只是提供一个库函数。而 Swoole 扩展在运行后会接管PHP的控制权,进入事件循环。当IO事件发生后,swoole会自动回调指定的PHP函数。

    Swoole 底层内置了异步非阻塞、多线程的网络IO服务器。PHP程序员仅需处理事件回调即可,无需关心底层。与Nginx/Tornado/Node.js 等全异步的框架不同,Swoole既支持全异步,也支持同步。

    Swoole 是开源免费的自由软件,授权协议是Apache2.0。企业和个人开发者均可免费使用Swoole的代码,并且在Swoole之上所作的修改可用于商业产品,无需开源(注:必须保留原作者的版权声明)。

    Swoole 使用纯C/C++编写,不依赖其他第三方库。

    • swoole并没有用libevent,所以不需要安装libevent
    • swoole并不依赖php的stream/sockets/pcntl/posix/sysvmsg等扩展

    为什么要用 Swoole?

    PHP这门语言从诞生到现在二十多年了,一直是作为Web领域快速开发的首选语言之一,日常场景就是,从数据库取出数据,经过一定的算法逻辑运算,对模板进行渲染并直接输出到Web浏览器。或者作为服务端的接口给网站、公众号、小程序、APP提供接口,然后由前端的VUE等展示。

    但是在某些场景还是有局限性,比如即时通讯类需要维持长链接的项目、直播类项目、游戏类项目等,使用传统的PHP不借助其它外力根本无法开发诸如此类的项目。

    还有之前 PHP 一直被诟病的一个原因就是它是同步阻塞式语言,这在 Web 应用这种 IO 密集型的领域对于编写高并发高性能的应用而言,是一个重大阻碍。

    Swoole 可以让PHP 开发人员可以轻松编写高性能的异步并发 TCP、UDP、Unix Socket、HTTP 以及 WebSocket 服务。

    Swoole 还为PHP提供了异步多线程服务器,异步TCP/UDP网络客户端,异步MySQL,异步Redis,数据库连接池,AsyncTask,消息队列,毫秒定时器,异步文件读写,异步DNS查询。 Swoole内置了Http/WebSocket服务器端/客户端、Http2.0服务器端。

    除了异步IO的支持之外,Swoole为PHP多进程的模式设计了多个并发数据结构和IPC通信机制,可以大大简化多进程并发编程的工作。其中包括了并发原子计数器,并发swoole_table,Channel,Lock,进程间通信IPC等丰富的功能特性。

    Swoole2.0支持了类似Go语言的协程,可以使用完全同步的代码实现异步程序。PHP代码无需额外增加任何关键词,底层自动进行协程调度,实现异步。

    有了 Swoole 之后,使得 PHP 语言在异步 IO 和网络通信领域开疆拓土,让 PHP 不再局限于 Web 领域,并且有望在工业级技术方面与 Node.js 和 Go 语言展开角逐。从某种角度上说,Swoole 让 PHP 插上了异步的翅膀,让它飞得更高。

    Swoole 的应用场景

    Swoole 比较适合用于服务器端开发,支持类似Go语言的协程,可以使用完全同步的代码实现自动协程调度。

    而 Swoole4 协程的成熟将 PHP 带入了前所未有的时期, 为性能的提升提供了独一无二的可能性。

    Swoole 可以广泛应用于互联网、实时通讯、云计算、 网络游戏、物联网(IOT)、车联网、智能家居、微服务、数据库连接池等领域。使用 PHP + Swoole 可以使企业 IT 研发团队的效率大大提升,更加专注于开发创新产品。

    展开全文
  • ThinkPHP Swoole 扩展 交流群:787100169 安装 首先按照Swoole官网说明安装swoole扩展,然后使用 composer require topthink/think-swoole 安装swoole扩展。 使用方法 直接在命令行下启动HTTP服务端。 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 16,869
精华内容 6,747
关键字:

swoole