<?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
网友评论