我的問題是:一個多人在線的游戲房間里面,在onWorkerStart里開一個定時器監(jiān)聽玩家進入房間,當人數(shù)為大于2人的時候開始游戲,前端頁面怎么接收到信息呢?前端onmessage里面好像是客戶端主動發(fā)送的,能不能gateway主動發(fā)送呢?如果已經(jīng)開始游戲了,那下一個人怎么實時看到游戲中的畫面呢?下面這段代碼是不是不對或者思路不對還是哪里不對,困擾了3天,每晚幾乎沒有睡,看了手冊和社區(qū)里的問題都沒有怎么明白,求大神指導,第一次接觸workerman,謝謝謝謝謝謝謝謝謝謝謝謝謝謝謝謝謝謝謝謝了。
public static function onWorkerStart($worker){
Timer::add(2, function(){
if(isset($_SESSION)){
// 獲取房間在線人數(shù)
$roomId = $_SESSION;
$online = Gateway::getClientCountByGroup($roomId);
if($online>0){
//獲取房間內所有用戶列表
$clientsList = Gateway::getClientSessionsByGroup($roomId);
Gateway::sendToGroup($roomId, json_decode($message_data));
}
}else {
echo 2;
}
})
}