国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

請問怎么給指定用戶推送信息

rosheng

大家好,我第一次用這個系統(tǒng)。現(xiàn)在的需求是:A怎么將信息只推送給B,或者系統(tǒng)指定給B推送信息。能不能根據(jù)$socket->id單獨(dú)去推送信息?下面是代碼,請問如何去實(shí)現(xiàn)?

$m = new Memcache;
$m->connect("127.0.0.1",11211);
$io = new SocketIO(2020);
$io->on('connection', function($socket)use($io){
    //接收連接人員數(shù)據(jù)
    $socket->on('senduser', function($data)use($socket){
        global $m;
        $sortarr = $m->get('sorket');
        if($sortarr){
           if(array_key_exists($data,$sortarr)){
              $sortarr[$data]["sortid"] = $socket->id;
           }else{
              $sortarr[$data] = $socket->id;
           }
        }else{
           $sortarr = array("$data" => $socket->id);
        }
        $m->set('sorket',$sortarr,0,0);
    });

    //接收數(shù)據(jù),并發(fā)送到指定人員
    $socket->on('sendmsg', function ($data)use($socket){
        global $m;
        if($m->get('sorket')){
           $sortarr = $m->get('sorket');
           $uid = $data['uid'];
           if(array_key_exists($uid,$sortarr)){
              //$socket->emit('getmsg',$sortarr[$uid]);
              $socket->to($sortarr[$uid])->emit('getmsg',$data["message"]);
           }
        }
    });

});
3823 1 0
1個回答

phpcreeper

//向特定的用戶發(fā)送消息:注意需要將業(yè)務(wù)id 和 $socket->id 進(jìn)行映射

$io->to($socket->id)->emit();
  • rosheng 2020-05-02

    你好,請問能說得詳細(xì)些嗎?具體怎么映射?

  • phpcreeper 2020-05-02

    你業(yè)務(wù)里肯定用的肯定業(yè)務(wù)數(shù)據(jù)比如用戶ID吧,所以用戶ID和$socket->id那就得做個映射。

  • rosheng 2020-05-02

    Array ( [23] => d669242e43abd74104ce6c48 [29] => e4916a3043abd74101467d91 ),這個是我存在Memcache里的數(shù)組,23是用戶ID,后面對應(yīng)的是每次用戶連接時獲取的$socket->id。你的意思是用對應(yīng)的$socket->id去推送嗎?$arr=Array ( [23] => d669242e43abd74104ce6c48 [29] => e4916a3043abd74101467d91 ),$io->to($arr[23])->emit();這樣去做嗎。這樣我試過,沒有成功。

  • rosheng 2020-05-02

    麻煩指教下,這樣問題困擾了一兩天了

  • phpcreeper 2020-05-02

    我用著好好的呢,原理就是那樣,自查代碼吧。

年代過于久遠(yuǎn),無法發(fā)表回答
??