swoole server-tcp

<?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
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容