Swoole官方网址:https://www.swoole.com/
官方解释:
Swoole:面向生产环境的 PHP 异步网络通信引擎
使 PHP 开发人员可以编写高性能的异步并发 TCP、UDP、Unix Socket、HTTP,WebSocket 服务。Swoole 可以广泛应用于互联网、移动通信、企业软件、云计算、网络游戏、物联网(IOT)、车联网、智能家居等领域。 使用 PHP + Swoole 作为网络通信框架,可以使企业 IT 研发团队的效率大大提升,更加专注于开发创新产品。
一、使用PHP官方提供的pecl命令安装swoole
首先,centOS已经安装了php环境
swoole项目已收录到PHP官方扩展库,除了手工下载编译外,还可以通过PHP官方提供的pecl命令,一键下载安装swoole
pecl install swoole
二、配置php.ini
编译安装成功后,修改php.ini加入
extension=swoole.so
通过php -m或phpinfo()来查看是否成功加载了swoole,如果没有可能是php.ini的路径不对,可以使用php --ini来定位到php.ini的绝对路径。
三、重启服务
service php-fpm restart
service nginx restart
四、代码测试
服务器端 server.php代码
<?php
$server = new swoole_server("192.168.1.160", 55152);
$server->on('connect', function ($server, $fd){
echo "Client:Connect.\n";
});
$server->on('receive', function ($server, $fd, $from_id, $data) {
$server->send($fd, '这里是Swoole: '.$data);
});
$server->on('close', function ($server, $fd) {
echo "Client: Close.\n";
});
$server->start();
客户端 client.php代码
<?php
$client = new swoole_client(SWOOLE_SOCK_TCP);
if (!$client->connect('192.168.1.160', 55152, -1))
{
exit("connect failed. Error: {$client->errCode}\n");
}
$client->send("hello world\n");
echo $client->recv();
$client->close();
五、测试上面两个php代码
1、启动服务
[root@localhost ~]# php server.php
2、linux终端 telnet 测试
如果遇到 -bash: telnet: command not found
使用以下命令安装 telnet
yum list telnet* # 查看telnet相关的安装包
yum install telnet-server # 安装telnet服务
yum install telnet.* # 安装telnet客户端
通过下图,可以看到,可以通过发出会话与服务器端实现对话
浏览器客户端测试