使用GatewayWorker做的長(zhǎng)連接和客戶端通信,非常感謝walkor老大開源這么好用的項(xiàng)目
客戶端在連接上服務(wù)器時(shí)做用戶登錄,現(xiàn)在用的手冊(cè)里提供的 Timer 定時(shí)器方法
https://workerman.net/doc/gateway-worker/close-unauthed-connections.html
請(qǐng)教個(gè)問題:
但是客戶端連接上服務(wù)器后,如果30s內(nèi)不認(rèn)證,而是直接進(jìn)行其他操作,那就每次都得判斷這個(gè)用戶是否登錄。
怎么能加一個(gè)類似webman里middleware的東西,所有消息都先走一遍這個(gè)中間件,判斷這個(gè)用戶沒login就執(zhí)行其他操作時(shí),直接斷開這個(gè)連接
哪里需要每次都判斷,這種就是一個(gè)判斷的事
if ($type == 'login_in') { // 登錄
self::auth();
return;
}
self::$uid = $_SESSION['uid'] ?? '';
// 未登錄
if (!self::$uid) {
Gateway::sendToClient($client_id, wsJson(500, '未登錄,無(wú)法訪問'));
return;
}