登錄之后全部廣播就可以收到消息,單獨(dú)廣播就不可以收到,請(qǐng)問(wèn)是哪里錯(cuò)了? uid可以打印出來(lái)
to()方法的參數(shù)支持如下兩種形式均可實(shí)現(xiàn)單播功能:
1、參數(shù)為組名:代表向當(dāng)前組下面的所有客戶端發(fā)送消息,采用此法必須先加入組;
2、參數(shù)為$socket->id: 采用此法則需要映射$uid與$socket->id的關(guān)系;
所以你的問(wèn)題就是to()方法的參數(shù)使用姿勢(shì)不正確導(dǎo)致。
比如方法2:
在用戶連接或登錄成功時(shí)做個(gè)映射: $ids[$uid] = $socket->id;
然后需要時(shí)給指定的用戶推送消息: $io->to($ids[$uid])->emit();
http://wtbis.cn/web-sender
官網(wǎng)有例子,直接用吧