1.查看安装的swoole版本

[root@iZ2zedsf2i1n3fvo7zc64kZ ~]# php --ri swoole

swoole

Swoole => enabled

Author => Swoole Team <team@swoole.com>

Version => 4.8.13

Built => May 24 2023 10:22:18

coroutine => enabled with boost asm context

epoll => enabled

eventfd => enabled

signalfd => enabled

cpu_affinity => enabled

spinlock => enabled

rwlock => enabled

pcre => enabled

zlib => 1.2.7

mutex_timedlock => enabled

pthread_barrier => enabled

futex => enabled

async_redis => enabled


Directive => Local Value => Master Value

swoole.enable_coroutine => On => On

swoole.enable_library => On => On

swoole.enable_preemptive_scheduler => Off => Off

swoole.display_errors => On => On

swoole.use_shortname => Off => Off

swoole.unixsock_buffer_size => 8388608 => 8388608

2.tcp服务

[root@iZ2zedsf2i1n3fvo7zc64kZ ~]# cat tt.php  

<?php


//创建Server对象,监听 127.0.0.1:9501 端口。

$server = new Swoole\Server('127.0.0.1', 9503);


//监听连接进入事件。

$server->on('Connect', function ($server, $fd) {

   echo "Client: Connect.\n";

});


//监听数据接收事件。

$server->on('Receive', function ($server, $fd, $reactor_id, $data) {

   $server->send($fd, "Server: {$data}");

});


//监听连接关闭事件。

$server->on('Close', function ($server, $fd) {

   echo "Client: Close.\n";

});


//启动服务器

$server->start();  


?>

3.启动服务

[root@iZ2zedsf2i1n3fvo7zc64kZ ~]# php tt.php  

Client: Connect.


4.客户端连接服务测试

[root@iZ2zedsf2i1n3fvo7zc64kZ ~]# telnet 127.0.01 9503

Trying 127.0.0.1...

Connected to 127.0.01.

Escape character is '^]'.

gjp   发送数据

Server: gjp  服务器返回数据