联系电话:0411-66373325
联系地址:大连市沙河口区富民广场
公司邮箱:2058793689@qq.com
备案信息:Copyright © 2016-2025,www.my249.com,All rights reserved
|
249建站之家:高并发扩展Swoole是个啥?
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模块: swoole_client on::Receive and on::Close no need to call recv/close (Receive和Close不需要相应的回调) php方法变更: add heartbeart()方法 (swoole_server_heartbeart() or $serv->heartbeat())(手动进行心跳检测) 配置变更: add heartbeat_idle_time (心跳最大空闲时间) add heartbeat_check_interval (心跳定时检测时间) Swoole介绍: Swoole是一个PHP的C扩展,可用来开发PHP的高性能高并发TCP/UDP Server。Swoole的网络IO部分基于多线程的epoll/kqueue事件循环,是全异步非阻塞的。 业务逻辑部分既可以像node.js一样全异步回调执行,也可以多进程同步阻塞方式来运行。这样既保证了Server能够应对高并发和大量TCP连接。又保证业务代码仍然可以简单的编写。 server 示例代码: <?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 (接收) 自己多多测试一下吧。很有用的。 |