From 5aa0377b58a68b73ffbdc947bfd65773e6d4d428 Mon Sep 17 00:00:00 2001 From: undefined Date: Mon, 1 Jan 2024 02:55:01 +0800 Subject: [PATCH] judge: handle heartbeat event --- packages/hydrojudge/src/hosts/hydro.ts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/packages/hydrojudge/src/hosts/hydro.ts b/packages/hydrojudge/src/hosts/hydro.ts index 39f0c8a9f..409b196fe 100644 --- a/packages/hydrojudge/src/hosts/hydro.ts +++ b/packages/hydrojudge/src/hosts/hydro.ts @@ -198,6 +198,10 @@ export default class Hydro implements Session { : '{"key":"ping"}'; setInterval(() => this.ws?.send?.(content), 30000); this.ws.on('message', (data) => { + if (data.toString() === 'ping') { + this.ws.send('pong'); + return; + } const request = JSON.parse(data.toString()); if (request.language) this.language = request.language; if (request.task) queue.add(() => new JudgeTask(this, request.task).handle().catch((e) => log.error(e)));