Swoole是PHP的异步并行扩展,有点像Node.js,但swoole既支持同步又支持异步,比node更强大。Swoole扩展是基于epoll高性能事件轮询,并且是多线程的,性能非常好。

Swoole除了提供网络Server/Client的功能之外,还提供了Task异步任务管理器,可以使你的程序中某些处理慢的函数异步去执行。

本文说下如何使用swoole扩展。

第一步 安装

swoole仅支持Linux/FreeBSD/Mac,如果你使用的是Windows系统,请安装一个虚拟机,VirtualBox/VMWare都可以。然后在虚拟机里安装Linux。

swoole已经加入到PHP的官方扩展库中,所以在Linux系统里只需要执行

  1. pecl install swoole

即可安装。安装完后修改php.ini,加入extension=swoole.so。然后查看php -m 或者 phpinfo,如果出现swoole证明安装成功了。

第二步 编写Server程序

创建一个PHP脚本文件server.php,代码内容:

  1. $serv = new swoole_server("127.0.0.1", 9501);
  2. $serv->on('connect', function ($serv, $fd){
  3. echo "Client:Connect.\n";
  4. });
  5. $serv->on('receive', function ($serv, $fd, $from_id, $data) {
  6. $serv->send($fd, 'Swoole: '.$data);
  7. });
  8. $serv->on('close', function ($serv, $fd) {
  9. echo "Client: Close.\n";
  10. });
  11. $serv->start();

然后执行:

  1. php server.php

使用telnet连接到你的服务器:

  1. telnet 127.0.0.1 9501
  2. > hello world
  3. > Swoole: hello world

是不是非常简单,仅仅11行代码就创建了一个异步高并发的TCPServer,通过底层的网络来进行数据收发。接下来就是你就可以做你想要做的事情了,即时聊天,文件收发,通信等等。

转自http://matyhtf.iteye.com/blog/2009690

最新文章

  1. ASP.Net MVC的ViewBag一个坑,不要跳进去
  2. 京东B2B的4种供销模式
  3. [转]-如何将Eclipse中的项目迁移到Android Studio 中
  4. jquery mobile 学习总结
  5. IntelliJ IDEA 快捷键和设置
  6. Poj 1328 / OpenJudge 1328 Radar Installation
  7. 如何获取SQL Server数据库元数据的方法
  8. 字符串(后缀自动机):COGS 2399. 循环同构
  9. mudOS配置
  10. 自己写的select元素可编辑、可筛选JQuery插件 jquery.inputselectbox.js
  11. mysql id从n 开始
  12. 在graphviz中创建可点击的图形
  13. php 解密$OOO0O0O00=__FILE__
  14. python之配置日志的三种方式
  15. XNginx - nginx 集群可视化管理工具
  16. windows Apache服务器简单配置虚拟域名(转载)
  17. Android service与Thread
  18. React VR 技术开发群 579149907
  19. zabbix 邮件配置
  20. php扩展开发2--添加类

热门文章

  1. 使用C#正则表达式获取必应每日图片地址
  2. 快速登录MySQL数据库
  3. 用python 4行搞定基数排序
  4. (转) RabbitMQ学习之helloword(java)
  5. ubuntu区域语言(locale)设置(切换为中文)
  6. Spring中xml文档的schema约束
  7. re模块findall函数用法
  8. Centos7 单节点安装 FastDFS + FastDHT服务
  9. node——通过express模拟Apache实现静态资源托管
  10. [POJ2104] K – th Number (可持久化线段树 主席树)