《 swooleThinkphp 》同步 TCP 客户端 【 六 】



在 Swoole 中绝大部分模块只能用于命令行环境,所以在正常的 web 访问中,只能通过 TCP 同步客户端连接 TCP 服务器来调用 Swoole 的功能。


创建控制器

创建application/index/controller/Client.php文件


<?php

namespace app\index\controller;


use think\Controller;

class Client extends Controller
{
    public function send()
    {
        // 实例化同步阻塞 TCP 客户端
        $client = new \swoole_client(SWOOLE_SOCK_TCP, SWOOLE_SOCK_SYNC);
        // 建立连接,连接失败时停止程序
        $client->connect('127.0.0.1', 9501) or die("connect failed\n");
        // 向 TCP 服务器发送数据
        $client->send(str_repeat("A", 600));
        // 接收数据的最大长度为700,不等待所有数据到达后返回
        $data = $client->recv(700, 0) or die("recv failed\n");
        echo "recv: {$data} \n";
    }
}


确认 TCP 服务器为开启状态后,在浏览器中访问域名/index.php/index/client/send


Delevin、博客