Workerman

TcpConnection类


原理概述

WorkerMan中有两个重要的类Worker与Connection。

每个客户端连接对应一个Connection对象,可以设置对象的onMessage、onClose等回调,同时该对象提供了向客户端发送数据的send接口与关闭连接的close接口,以及其它一些必要的接口。

Workerman_第1张图片

每个客户端连接对应一个Connection对象

可以说Worker是一个监听容器,负责接受客户端连接,并把连接包装成connection对象形式提供给开发者操作。


属性


Workerman_第2张图片

id

说明:

int Connection::$id

客户端连接对象的id,这是一个自增的整数。

注意:workerman是多进程的,每个Worker进程内部会维护一个自增的connection id,所以多个进程之间的connection id会有重复。

如果想要不重复的connection id 可以根据需要给connection->id重新赋值,例如加上worker->id前缀。

参见

Worker的connections属性

范例

use Workerman\Worker;
require_once__DIR__.'/Workerman/Autoloader.php';
$worker =newWorker('tcp://0.0.0.0:8484');
$worker->onConnect =function($connection){
echo$connection->id;
};
// 运行
workerWorker::runAll();

你可能感兴趣的:(Workerman)