swoole是一个PHP的异步、并行、高性能网络通信引擎,使用纯C语言编写,提供了PHP语言的异步多线程服务器,异步TCP/UDP网络客户端,异步MySQL,异步Redis,数据库连接池,AsyncTask,消息队列,毫秒定时器,异步文件读写,异步DNS查询。 Swoole内置了Http/WebSocket服务器端/客户端、Http2.0服务器端。
Swoole可以广泛应用于互联网、移动通信、企业软件、云计算、网络游戏、物联网(IOT)、车联网、智能家居等领域。 使用PHP+Swoole作为网络通信框架,可以使企业IT研发团队的效率大大提升,更加专注于开发创新产品。
注意事项:
1、server.php中的ip地址必须是外网可访问地址 123.57.232.99,不能为localhost1、安装# wget https://github.com/swoole/swoole-src/archive/swoole-1.7.6-stable.tar.gz # tar zxvf swoole-1.7.6-stable.tar.gz# cd swoole-1.7.6-stable # phpize # ./configure # make && make install 提示:Build complete.Don't forget to run 'make test'. Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/说明安装成功2、php加载swoole扩展extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/"extension=swoole.so 3、重启服务service php-fpm restartservice nginx restart4、测试,查看phpinfo信息,如下图所示:5、代码测试 server.php代码:<?php$serv = new swoole_server("123.57.232.99", 55152);$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();?> client.php代码<?php$client = new swoole_client(SWOOLE_SOCK_TCP);if (!$client->connect('123.57.232.99', 55152, -1)){ exit("connect failed. Error: {$client->errCode}\n");}$client->send("hello world\n");echo $client->recv();$client->close();?> 首先启动服务:[root@iZ25l6q4losZ swoole]# php server.phpClient:Connect. 然后linux终端 telnet测试# telnet 123.57.232.99 55152Trying 123.57.232.99...Connected to 123.57.232.99.Escape character is '^]'.rrSwoole: rr测试Swoole: 测试