PHP异步高并发扩展Swoole
in PHP笔记 with 0 comment
PHP异步高并发扩展Swoole
in PHP笔记 with 0 comment

php的优势不在说了。swole可能有些人还是是太熟悉,这也是php的一大革新。

下面来介绍一下。

GitHub地址:https://github.com/matyhtf/swoole

官网:http://www.swoole.com

pecl地址: http://pecl.php.net/package/swoole


swoole项目在春节前发布了1.6.10版本。

 

内核更新:

 



client模块:

 



php方法变更:

 




配置变更:

 



Swoole介绍:


Swoole是一个PHP的C扩展,可用来开发PHP的高性能高并发TCP/UDP Server。Swoole的网络IO部分基于多线程的epoll/kqueue事件循环,是全异步非阻塞的。 业务逻辑部分既可以像node.js一样全异步回调执行,也可以多进程同步阻塞方式来运行。这样既保证了Server能够应对高并发和大量TCP连接。又保证业务代码仍然可以简单的编写。

 

server 示例代码:


Php代码 

<?php //server.php  
$serv = new swoole_server("0.0.0.0", 9501);  
$serv->set(array(  
    'worker_num' => 2,  
 ));  
$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->close($fd);  
});  
$serv->on('close', function ($serv, $fd) {  
    echo "Client: Close.\n";  
});  
$serv->start();  
?>  
php server.php         //运行  
telnet 127.0.0.1 9501  //连接server  
hello  (发送)  
Swoole: hello (接收)  

自己多多测试一下吧。很有用的。

Responses