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

WBOY
Freigeben: 2016-06-13 11:45:36
Original
845 Leute haben es durchsucht

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
Nach dem Login kopieren

?

即可安装。安装完后修改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();
Nach dem Login kopieren

?然后执行:

?

php server.php
Nach dem Login kopieren

?

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

telnet 127.0.0.1 9501> hello world> Swoole: hello world
Nach dem Login kopieren

?

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

?

?

?

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage