我需要判斷多個uid是否在線,嘗試使用Gateway::isUidOnline輪詢查詢是否在線很慢,20個uid需要10多秒,這是什么原因呢?代碼如下:
public function uidOnline($uids)
{
$memberids = [];
if(is_array($uids)){
foreach ($uids as $uid){
if(!Gateway::isUidOnline($uid)){
$memberids[]=$uid;
}
}
}
return $memberids;
}
使用Gateway::getAllUidList獲取在線uid列表時返回空。
有什么其他代替方法呢?
跨外網(wǎng)調(diào)用了吧。
比如gatewayWorker一臺服務(wù)器,調(diào)用isUidOnline調(diào)用在另外一臺服務(wù)器,使用外網(wǎng)ip調(diào)用,有網(wǎng)絡(luò)傳輸耗時,所以就慢了。
哥們,終于找到你的最新評論了,想和你聯(lián)系下。關(guān)于phpmicro,我我的項目代碼打包成webman.phar后,我如果需要運行的話,就執(zhí)行php webman.phar start
命令,就會起來一個服務(wù),我現(xiàn)在需要使用micro.sfx把webman.phar 直接打包成二進制文件test.exe,點擊 test.exe就直接能起來服務(wù),就相當(dāng)于運行php webman.phar start
,但是不知道怎么搞?如果直接copy /b micro.sfx + "webman.phar" test.exe
,然后運行test.exe start
會提示Only run in command line mode
,請問你是怎么結(jié)局這個問題的?謝謝。