归档: 2018/2

0

Swoole(十)进程队列通信

Swoole具备进程管理模块,用来代替PHP的pcntl拓展。 1.投递数据到消息队列:swoole_process->push函数原型:bool swoole_process->push(string $data);$data:投递的数据,长度受限与操作系统内核参数的限制。默认为8192,最大不超过65536默认模式下(阻塞模式):队列已满,push方法会阻塞等待非阻塞模式下:队列

0

Swoole(九)同步/异步进程

Swoole具备进程管理模块,用来代替PHP的pcntl拓展。Process进程是系统中十分昂贵的资源,创建进程消耗很大,可以使用vmstat指令查看系统每秒进程切换次数 1.PHP自带pcntl拓展存在很多不足 pcntl没有提供进程间通信的功能 pcntl不支持重定向标准输入和输出 pcntl只提供了fork这样原始的接口,容易使用错误 swoole_process提供了比pcntl更强大的

0

Swoole(八)同步TCP客户端

创建一个TCP的同步客户端,可用于连接我们之前的实例TCP服务器 1.函数讲解1.建立TCP客户端对象:$client = new swoole_client(SWOOLE_SOCK_TCP);2.连接到服务器使用客户端对象的connect方法,参数分别为服务器$ip、服务器端口号$port和连接超时时间$time1$client->connect('127.0.0.1&apos

0

Swoole(七)异步TCP服务器

Swoole提供了异步任务处理的功能,可以投递一个异步任务到TaskWorker进程池中执行,不影响当前请求的处理速度。在Server程序中如果需要执行很耗时的操作,比如一个聊天服务器发送广播,Web服务器中发送邮件。如果直接去执行这些函数就会阻塞当前进程,导致服务器响应变慢。 1.代码讲解1.创建TCP服务器:$serv = new swoole_server(“0.0.0.0”, 9501)

0

Swoole(六)设置定时器

swoole提供了类似JavaScript的setInterval/setTimeout异步高精度定时器,粒度为毫秒级。使用也非常简单。1.swoole_timer_tick相当于setInterval,是持续触发的函数原型:int $timer_id swoole_timer_tick(int $after_time_ms, mixed $callback function, mixed $us

0

Swoole(五)配置WebSocket服务器

接来下我们来学习配置一个WebSocket服务器1.首先介绍下什么是websocket初次接触 WebSocket 的人,都会问同样的问题:我们已经有了 HTTP 协议,为什么还需要另一个协议?它能带来什么好处?答案很简单,因为 HTTP 协议有一个缺陷:通信只能由客户端发起。这种单向请求的特点,注定了如果服务器有连续的状态变化,客户端要获知就非常麻烦。一般有两种方法 AJAX轮询:让浏览器隔个

0

Swoole(四)配置Web服务器

接来下我们来学习Swoole的基本函数,以此来配置一个Web服务器1.基本函数1.1 swoole_http_server:swoole_http_server继承自swoole_server,是一个完整的http服务器实现,支持同步和异步2种模式。函数原型:$http = new swoole_http_server($ip, $port); $ip:监听的ip $port:监听的端口 1.

0

Swoole()配置UDP服务器

接来下我们来学习Swoole的基本函数,以此来配置一个UDP服务器1.基本函数1.1 swoole_server->sendto:向任意的客户端IP:PORT发送UDP数据包。函数原型:bool swoole_server->sendto(string $ip, int $port, string $data, int $server_socket = -1); $ip:为IPv4字

0

Swoole(二)配置TCP服务器

接来下我们来学习Swoole的基本函数,以此来配置一个TCP服务器1.基本函数1.1 swoole_server:创建一个异步Server对象。函数原型:$serv = new swoole_server(string $host, int $port = 0, int $mode = SWOOLE_PROCESS, int $sock_type = SWOOLE_SOCK_TCP); $hos

0

Swoole(一)安装

说到PHP异步网络通信框架,相信PHPer脑海里第一个浮现的便是Swoole。 商业应用:IM聊天、战旗TV、虎牙直播、YY语音等。 应用领域:互联网、网络通信、企业软件、云计算、网络游戏、物理网等。 特点:1.异步、并行、高性能2.纯C编写,接近应用底层3.php扩展 应用:1.异步多线程服务器及客户端2.异步MySQL、Redis、数据库连接池、任务队列3.http/websocket服务器