socketio如何获取各个客户端信息

alpha

问题描述

使用workerman可以获取到各个客户端信息

$work = new Worker();
foreach($work->connections as $con){
    //这里可以获取个各个已连接的客户端
    if($con->uid == 'admin'){
        //可以任意指定一个客户端分组等操作
        $con->join('group');
    }
}

如果使用socketIo

$socket_io = new SocketIO( 'ip:port');
$socket_io->on( 'connection' , function( $socket ) use ( $socket_io ) {
    $socket->on( 'login' , function( $msg ) use ( $socket ) {
        //这里只能通过客户端发送信息过来时来指定当前用户分组等操作
        $socket->join('group');
    } );
});

如何像work那样可以遍历出各个客户端来指定一个进行对应操作

360 1 1
1个回答

小W

连接时记录id,然后通过id ,$socket_io ->to(id)->emit(TYPE, DATA);

  • alpha 2023-08-11

    这个我知道,我是说想把指定用户加入分组呢,不用客户端连接。用$socket_io

  • alpha 2023-08-11

    $work->connections 包含了所有的用户,可以遍历找出某个用户进行操作。socketio里面有没有类似的操作

  • 小W 2023-08-11

    看源码有没有吧

🔝