web-msg-sender中用户加入多个group分组后,如何按分组发送消息,目前回调为'offline'

amhoho

前端:

socket.emit('login', 'a');

后端:

//将a加入多个群组.
$socket->join('a');
$socket->join('b');
$socket->join('c');
//给'a'送出消息,结果:'ok'
$sender_io->to('a')->emit('new_msg', $_POST);

//给'a'之外的分组如'b'或'c',则可送出消息,但结果是'offline'
$sender_io->to('b')->emit('new_msg', $_POST);
$sender_io->to('c')->emit('new_msg', $_POST);

请问这样将用户加入其余群组时,如何给'b,c'这样的分组回调'ok'且不影响统计online人数呢?

3431 1 0
1个回答

latin

看下 offline哪里返回的吧,
$sender_io->to('b')->emit(...) 是不会返回offline的,应该是你业务逻辑哪里搞错了。
你可以把完整源码贴出来,大家帮你看看

  • amhoho 2017-11-13

    默认的web-msg-sender/start_io.php文件里有直接显示online 或offline的:
    // http接口返回,如果用户离线socket返回fail
    if($to && !isset($uidConnectionMap[$to])){
    return $http_connection->send('offline');
    }else{
    return $http_connection->send('ok');
    }

年代过于久远,无法发表回答
🔝