当前连接属于哪一个进程?

0

Hi walkor, 我现在服务器框架只是用的Workerman,如果要用Channel作分布式通讯的话,必须要知道连接所在的worker, 那么当设备连接上来的时候,我要如何获取到当连接所在的进程(worker id)? 例如在$tcp_worker->onConnect = function ($connection) {}这个函数里面.

已邀请:

walkor

赞同来自:

是的,可以在onConnect的时候获取$worker->id,就知道是在哪一个进程了。
如果是分布式部署,还需要知道是哪个服务器,可以用$worker->name来区分,或者给$worker设置个临时变量存储当前服务器标识比如localIp


$worker = new Worker('....');
$worker->localIp = 'xx.xx.xx.xx';
$worker->onConnect = function($connection) use ($worker) {
echo $worker->localIp, $worker->id, $connection->id;
};
Worker::runAll();

xiewen_kevin - PHP是艺术...

赞同来自:

好的 谢谢walkor

要回复问题请先登录注册