美文网首页
swoole server-tcp

swoole server-tcp

作者: dongshixiao | 来源:发表于2018-03-31 15:35 被阅读0次
    <?php
    /**
     * Created by PhpStorm.
     * User: season
     * Date: 18-3-31
     * Time: 下午2:21
     */
    
    //创建server对象 监听本地9501端口
    $serv = new \Swoole\Server('127.0.0.1', 9501);
    $serv->set([
        'worker_num' => 4,// worker进程数  cpu1-4倍
        'max_request' => 10000,//根据内存等来设置
    ]);
    
    /**
     * 监听连接进入事件
     *
     * $fd(自增) 客户端连接的唯一标识
     * $reactor_id (线程id)
     */
    $serv->on('connect', function ($serv, $fd, $reactor_id) {
        echo "客户端已连接-线程:{$reactor_id},标识:{$fd}\n";
    });
    
    /**
     * 监听数据接收事件
     *
     * $fd(自增) 客户端连接的唯一标识
     * $reactor_id (线程id)
     * $data 用户发送过来的数据
     */
    $serv->on('receive', function ($serv, $fd, $reactor_id, $data) {
        //send 向客户端发送数据
        $serv->send($fd, "服务器向你(线程:{$reactor_id},标识:{$fd})发送数据:" . $data . "\n");
    });
    
    
    /**
     * 监听连接关闭事件
     */
    $serv->on('close', function ($serv, $fd) {
        echo "标识为{$fd}的客户端已关闭\n";
    });
    
    //启动服务器
    $serv->start();
    

    运行效果:


    运行效果

    断开其中一个连接:


    断开其中一个连接

    查看worker_num设置的数量


    image.png

    相关文章

      网友评论

          本文标题:swoole server-tcp

          本文链接:https://www.haomeiwen.com/subject/erggcftx.html