server = new Swoole\Server(self::HOST, self::PORT); // 设置TCP服务器参数 $this->server->set([ 'worker_num' => self::WORKER_NUM, 'max_request' => self::MAX_REQUEST ]); // 监听连接进入事件 $this->server->on('Connect', [$this, 'onConnect']); // 监听数据接收事件 $this->server->on('Receive', [$this, 'onReceive']); // 监听连接关闭事件 $this->server->on('Close', [$this, 'onClose']); } /** * 监听连接进入事件 * @param $serv Swoole\Server TCP对象 * @param $client_id int 客户端连接ID * @param $reactor_id int 线程ID */ public function onConnect($serv, $client_id, $reactor_id) { echo 'Client: Connect.' . PHP_EOL . 'This client id: ' . $client_id . PHP_EOL . 'This reactor id: ' . $reactor_id . PHP_EOL; } /** * 监听数据接收事件 * @param $serv Swoole\Server TCP对象 * @param $client_id int 客户端连接ID * @param $reactor_id int 线程ID * @param $data string 客户端传入的字符串 */ public function onReceive($serv, $client_id, $reactor_id, $data) { $serv->send($client_id, 'This client id: ' . $client_id . PHP_EOL . 'This reactor id: ' . $reactor_id . PHP_EOL . 'Hello ' . $data . '!' . PHP_EOL); } /** * 监听连接关闭事件 * @param $serv Swoole\Server TCP对象 * @param $client_id int 客户端连接ID */ public function onClose($serv, $client_id) { echo 'Client: Client ' . $client_id . ' close.' . PHP_EOL; } /** * 启动TCP服务器 */ public function start() { $this->server->start(); } } $tcp = new Tcp(); $tcp->start();