TCP 协议 (Transport Control Protocol) 属于传输层,在经过三次握手后才建立连接,应用层的大多数协议都基于 TCP 协议完成。
TCP 服务器脚本
1. 创建脚本:server.php
<?php
// 创建 Server 对象,监听 127.0.0.1:9501端口
$serv = new Swoole\Server("127.0.0.1", 9501);
// 配置
$serv->set([
// 守护进程
"daemonize" => 0,
// 进程数量,为CPU核数的1-4倍
"worker_man" => 8,
// 更多配置:https://wiki.swoole.com/wiki/page/13.html
]);
/**
* 监听连接进入事件
* $serv 创建的 Server 对象
* $fd 是TCP客户端连接的标识符
* $reactor_id 是来自于哪个reactor线程
*/
$serv->on('Connect', function ($serv, $fd, $reactorId) {
echo "Client:{$fd} Connect.\n";
});
/**
* 监听数据接收事件
* $data,收到的数据内容,可能是文本或者二进制内容
*/
$serv->on('Receive', function ($serv, $fd, $reactorId, $data) {
// 向客户端发送消息
$serv->send($fd, "Server: " . $data);
});
// 监听连接关闭事