因為我這邊要做對戰(zhàn)游戲幀同步的服務(wù)器,使用了定時器做事件幀同步。 之前使用的方案是房主發(fā)起開啟幀同步的事件,然后 BusinessWorker 開啟毫秒定時器并將itmer_id記錄erdis。 后來突然想到,如果房主掉線再恢復(fù),導(dǎo)致redis記錄的timer_id可能會失效(比如重連的時候 gateway 轉(zhuǎn)發(fā)消息不再轉(zhuǎn)發(fā)到上次在線時綁定的進(jìn)程)最終導(dǎo)致無法停止幀同步時間。 然后我就想到使用channel,組件來隔...
看了下globalData組件,在gateway里測試了下大概1秒可以寫1000次。 代碼片段,為什么感覺這么少呢? //... public static function onWorkerStart($businessWorker) { self::$g = new GlobalData\Client('127.0.0.1:2207'); //... case 'te...