Swoole:重新定义PHP
Swoole PHP语言的高性能网络通信框架,提供了PHP语言的异步多线程服务器,异步TCP/UDP网络客户端,异步MySQL,数据库连接池,AsyncTask,消息队列,毫秒定时器,异步文件读写,异步DNS查询。
Swoole可以广泛应用于互联网、移动通信、企业软件、云计算、网络游戏、物联网、车联网、智能家居等领域。
使用PHP+Swoole作为网络通信框架,可以使企业IT研发团队的效率大大提升,更加专注于开发创新产品。
官方网站:http://www.swoole.com/
github:https://github.com/swoole/swoole-src
php扩展包下载地址:http://pecl.php.net/package/swoole
2. 安装与配置
安装swoole:可pecl直接在线安装,或下载 releases版本的swoole编译安装
pecl安装swoole扩展
pecl不可用的请确认php安装目录的bin目录已加入系统变量
# pecl install swoole
2.12编译安装swoole扩展
从此处下载: http://pecl.php.net/package/swoole
# cd swoole
# phpize
# ./configure
# make && make install
2.2配置php.ini
phpinfo()确认Configuration File (php.ini) Path
添加:
extension=swoole.so
重启Apache查看php扩展库
# service httpd restart
# php -m
确认swoole已添加
作为socket客户端示例
$client = new swoole_client(SWOOLE_SOCK_TCP, SWOOLE_SOCK_SYNC); //同步阻塞
$ret = $client->connect('127.0.0.1', 9501, 0.5, 0);
$client->send("hello world\n");
$data = $client->recv(1024);
echo $data;
unset($client);
类的构造方法,第一个参数是socket的类型,目前支持SWOOLE_SOCK_UDP/SWOOLE_SOCK_TCP。第二个参数 SWOOLE_SOCK_SYNC表示是同步阻塞来执行的。Swoole已经设置过超时,就算没有收到数据包,在超过约定时间后也会返回的。
connect方法用来连接到Server。参数分别是Host、Port、超时时间单位是秒0.5表示500ms、是否启用UDP connect。
send方法用来发送数据,recv方法来接收数据,recv方法支持第二个参数,如果第二个参数为true,表示会等到所有数据到来才会返回。
析构对象时会自动close此socket,所以没有提供close方法。
Swoole:重新定义PHP的更多相关文章
- 推荐个好东西swoole,php如虎添翼
Swoole:PHP语言的异步.并行.高性能网络通信框架,使用纯C语言编写,提供了PHP语言的异步多线程服务器,异步TCP/UDP网络客户端,异步MySQL,数据库连接池,AsyncTask,消息队列 ...
- swoole比php好在哪里
直接套用Swoole官网的介绍: PHP的异步.并行.高性能网络通信引擎,使用纯C语言编写,提供了PHP语言的异步多线程服务器,异步TCP/UDP网络客户端,异步MySQL,异步Redis,数据库连接 ...
- 被swoole坑哭的PHP程序员
被swoole坑哭的PHP程序员 2015-09-16 09:57 文帅营 博客园 字号:T | T 首先说一下对swoole的理解:披着PHP外衣的C程序.很多PHPer朋友看到swoole提供的强 ...
- Swoole 遇上 PHP会是怎样的结果呢
一直想写点Swoole的东西,毕竟它重新定义了php,却一直不知道怎么下手写 Swoole涉及的知识点非常多,互为表里,每次想写都发现根本理不出一个头绪 Swoole是一个php的扩展,它的核心目的就 ...
- http://www.swoole.com/
Swoole:重新定义PHP PHP语言的高性能网络通信框架,提供了PHP语言的异步多线程服务器,异步TCP/UDP网络客户端,异步MySQL,数据库连接池,AsyncTask,消息队列,毫秒定时器, ...
- 用swoole和websocket开发简单聊天室
首先,我想说下写代码的一些习惯,第一,任何可配置的参数或变量都要写到一个config文件中.第二,代码中一定要有日志记录和完善的报错并记录报错.言归正传,swoole应该是每个phper必须要了解的, ...
- 在Laravel中使用swoole来取代nginx作为http服务器
1.是什么限制Laravel框架的速度? Laravel框架启动的时候需要加载很多文件,再加上其出了名的生态环境好,所以在开发过程中我们就会发现有非常多的已经造好的轮子,这也就使得Laravel的一次 ...
- swoole运行模式加速laravel应用的详细介绍
本篇文章给大家带来的内容是关于swoole运行模式加速laravel应用的详细介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 一.Swoole Swoole号称重新定义了PHP, ...
- swoole入门简介
原文:https://www.cnblogs.com/dormscript/p/4811921.html 本文主要记录一下学习swoole的过程.填过的坑以及swoole究竟有多么强大! 首先说一下对 ...
随机推荐
- http 安全验证
今天升级Xcode 7.0 bata发现网络访问失败.输出错误信息 The resource could not be loaded because the App Transport Securit ...
- UML基础概念(转)
UML基础概念 UML概述 uml简介 uml(unified Modeling Language )为面向对象软件设计提供统一的.标准的.可视化的建模语言.适用于描述以用例为驱动,以体系结构为中心的 ...
- fopen()函数中参数mode的取值
FILE * fopen(const char * path,const char * mode); 参数mode字符串则代表着流形态. mode有下列几种形态字符串: r 打开只读文件,该文件必须存 ...
- npm install含义 及vue安装启动项目时报错解决及vue建项目时各文件间的依赖关系
全局安装vue-cli,使用命令npm install -g vue-cli. 下载模板代码,使用命令vue init webpack my-project,之后会有一些询问,按需填写即可. 最后会看 ...
- IWorkSpace接口介绍 1.打开各种数据库
IWorkspace接口提供访问工作空间的通用属性和方法,如它的连接属性,以及包含的数据集的方法. IWorkspace的成员字段: Members Description ConnectionP ...
- RHEL7 单独安装图形 X11
RHEL7 默认是最小化安装(Minimal Install),没有图形界面, 我们应该选择Server with GUI.若已错过此步骤,我们采用以下方式补充安装GUI界面.
- css一行内容过多显示省略号
四个缺一不可. 效果如下图
- form2js的使用(续BootstrapTable)
通过收集表单数据,并且转换为json格式,实现表格的查询. 引入插件:不要忘记引入jquery. <script src="${ctx}/assets/plugins/form2js/ ...
- 卷积神经网络(CNN)新手指南 1
http://blog.csdn.net/real_myth/article/details/52273930 卷积神经网络(CNN)新手指南 2016-07-29 18:22 Blake 1条评论 ...
- PHP 领域逻辑与数据库映射
http://blog.csdn.net/hguisu/article/details/7569968