ホームページ  >  記事  >  バックエンド開発  >  PHP的异步并行网络扩展swoole怎么使用

PHP的异步并行网络扩展swoole怎么使用

WBOY
WBOYオリジナル
2016-06-13 11:45:36842ブラウズ

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系统里只需要执行

?

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,通过底层的网络来进行数据收发。接下来就是你就可以做你想要做的事情了,即时聊天,文件收发,通信等等。

?

?

?

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。