天天看点

swoole 实现 TCP服务 (二)

 一下是面向过程的一段代码

<?php
//创建Server对象,监听 127.0.0.1:9501端口
$serv = new swoole_server("127.0.0.1", 9501); 

//参数
$serv->set(array(
    'worker_num' => 4,    //进程数 服务器核心数的1-4倍
    'max_request' => 1000,
));

//监听连接进入事件
/**
 * $fd 客户端连接的 唯一标识
 * $reactor_id 线程id
 */
$serv->on('connect', function ($serv, $fd, $reactor_id) {  
    echo "Client:{$reactor_id}-{$fd} Connect.\n"; 
});

//监听数据接收事件
/**
 * $fd
 */
$serv->on('receive', function ($serv, $fd, $from_id, $data) {
    $serv->send($fd, "Server: {$from_id}-{$fd}:".$data);
});

//监听连接关闭事件
$serv->on('close', function ($serv, $fd) {
    echo "Client: Close.\n";
});

//启动服务器
$serv->start();