$socket->id = $data['uid'];
emitting packet with ack id 0
$data['uid'] 為16 ? 映射完畢的ID 應(yīng)該為16 才對??可是出來結(jié)果是0
如何正確映射用戶ID 呢?
看了下代碼,$socket->id
不是用來做uid映射的,是socket.io內(nèi)部標記連接id用的,更改它沒有意義。
如果你要給你自己定義的uid發(fā)數(shù)據(jù),先用$socket->join($uid);
加入分組,然后就可以在需要給這個uid發(fā)數(shù)據(jù)的時候調(diào)用 $io->to($uid)->emit('event name', $data);
就可以給這個uid發(fā)數(shù)據(jù)了。
給題主私下說了幾百遍另外一種方法就是:單發(fā)to()參數(shù)可以取值$socket->id,讓后將業(yè)務(wù)uid和$socket->id做個映射就完事兒了,然后死活搞不清這么個事兒,折騰半天還是拿業(yè)務(wù)uid賦值覆蓋去$socket->id的值。