Home > Backend Development > PHP Tutorial > PHP的异步并行网络扩展swoole怎么使用

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

WBOY
Release: 2016-06-13 12:29:54
Original
884 people have browsed it

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
Copy after login

?

即可安装。安装完后修改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();
Copy after login

?然后执行:

?

php server.php
Copy after login

?

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

telnet 127.0.0.1 9501
> hello world
> Swoole: hello world
Copy after login

?

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

?

?

?

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template