PHP的异步并行网络扩展swoole如何使用

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

 

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

 

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

 

第一步 安装

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

 

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

 

Shell代码   收藏代码
  1. pecl install swoole  

 

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

 

第二步 编写Server程序

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

 

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();  

 然后执行:

 

Java代码   收藏代码
  1. php server.php  

 

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

Java代码   收藏代码
  1. telnet 127.0.0.1 9501  
  2. > hello world  
  3. > Swoole: hello world  

 

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值