作者:叶小丹丶丶01_520 | 来源:互联网 | 2016-02-29 23:55
php的优势不在说了。swole可能有些人还是是太熟悉,这也是php的一大革新。
下面来介绍一下。
GitHub地址:https://github.com/matyhtf/swoole
官网:http://www.swoole.com
pecl地址:http://pecl.php.net/package/swoole
swoole项目在春节前发布了1.6.10版本。
内核更新:
-
Enabled by defaultasync_mysql (5.4版本默认开启async_mysql特性)
-
UDP send no require from_id (udp 发送不包含 from_id)
-
Add last_time and connect_time to tcp connection_info (连结信息添加属性:连接时间和最后消息到达时间)
-
Add tcp heartbeat mechanism (内置tcp心跳检测模块)
-
rebuild data_buffer (重构了data_buffer)
client模块:
php方法变更:
配置变更:
Swoole介绍:
Swoole是一个PHP的C扩展,可用来开发PHP的高性能高并发TCP/UDP Server。Swoole的网络IO部分基于多线程的epoll/kqueue事件循环,是全异步非阻塞的。 业务逻辑部分既可以像node.js一样全异步回调执行,也可以多进程同步阻塞方式来运行。这样既保证了Server能够应对高并发和大量TCP连接。又保证业务代码仍然可以简单的编写。
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 (接收)
自己多多测试一下吧。很有用的。