php的异步并行扩展swoole
2024-08-31 07:45:31
Swoole是PHP的异步并行扩展,有点像Node.js,但swoole既支持同步又支持异步,比node更强大。Swoole扩展是基于epoll高性能事件轮询,并且是多线程的,性能非常好。
Swoole除了提供网络Server/Client的功能之外,还提供了Task异步任务管理器,可以使你的程序中某些处理慢的函数异步去执行。
本文说下如何使用swoole扩展。
第一步 安装
swoole仅支持Linux/FreeBSD/Mac,如果你使用的是Windows系统,请安装一个虚拟机,VirtualBox/VMWare都可以。然后在虚拟机里安装Linux。
swoole已经加入到PHP的官方扩展库中,所以在Linux系统里只需要执行
- pecl install swoole
即可安装。安装完后修改php.ini,加入extension=swoole.so。然后查看php -m 或者 phpinfo,如果出现swoole证明安装成功了。
第二步 编写Server程序
创建一个PHP脚本文件server.php,代码内容:
- $serv = new swoole_server("127.0.0.1", 9501);
- $serv->on('connect', function ($serv, $fd){
- echo "Client:Connect.\n";
- });
- $serv->on('receive', function ($serv, $fd, $from_id, $data) {
- $serv->send($fd, 'Swoole: '.$data);
- });
- $serv->on('close', function ($serv, $fd) {
- echo "Client: Close.\n";
- });
- $serv->start();
然后执行:
- php server.php
使用telnet连接到你的服务器:
- telnet 127.0.0.1 9501
- > hello world
- > Swoole: hello world
是不是非常简单,仅仅11行代码就创建了一个异步高并发的TCPServer,通过底层的网络来进行数据收发。接下来就是你就可以做你想要做的事情了,即时聊天,文件收发,通信等等。
转自http://matyhtf.iteye.com/blog/2009690
最新文章
- ASP.Net MVC的ViewBag一个坑,不要跳进去
- 京东B2B的4种供销模式
- [转]-如何将Eclipse中的项目迁移到Android Studio 中
- jquery mobile 学习总结
- IntelliJ IDEA 快捷键和设置
- Poj 1328 / OpenJudge 1328 Radar Installation
- 如何获取SQL Server数据库元数据的方法
- 字符串(后缀自动机):COGS 2399. 循环同构
- mudOS配置
- 自己写的select元素可编辑、可筛选JQuery插件 jquery.inputselectbox.js
- mysql id从n 开始
- 在graphviz中创建可点击的图形
- php 解密$OOO0O0O00=__FILE__
- python之配置日志的三种方式
- XNginx - nginx 集群可视化管理工具
- windows Apache服务器简单配置虚拟域名(转载)
- Android service与Thread
- React VR 技术开发群 579149907
- zabbix 邮件配置
- php扩展开发2--添加类