diff options
| author | Osmium Sorcerer <os@sof.beauty> | 2026-03-16 14:12:22 +0000 |
|---|---|---|
| committer | Osmium Sorcerer <os@sof.beauty> | 2026-06-06 03:06:43 +0000 |
| commit | baa39f317e978d02b7b1c0a5fd8c7c3b3585de69 (patch) | |
| tree | 9fc0fa19725deea4a66857639b83646facaf31a7 /webAO/client/sender | |
| parent | 5e6efbad8ebbbfbf2f39c9b6d0e8069c6132e6aa (diff) | |
Remove CH-sending timer
CH is an application-level keepalive packet that clients periodically
send for two reasons:
1. It tells the server they're still connected, preventing timeouts.
2. By measuring latency between sending CH and receiving CHECK, a client
can display ping.
Keepalive is redundant because WebSocket can handle that via PING frames on a
transport layer. WebAO also completely ignores CHECK and sends CH every
five seconds, which is superfluous (AO2 Client sends it once every 45
seconds, in comparison).
Sending CH via `setInterval` was also problematic: browsers seem to
throttle it when the tab becomes inactive, preventing periodic pings and
leading to the server disconnecting inactive browser clients.
Diffstat (limited to 'webAO/client/sender')
| -rw-r--r-- | webAO/client/sender/index.ts | 3 | ||||
| -rw-r--r-- | webAO/client/sender/sendCheck.ts | 8 |
2 files changed, 0 insertions, 11 deletions
diff --git a/webAO/client/sender/index.ts b/webAO/client/sender/index.ts index e218b6bc..b9e2b4f4 100644 --- a/webAO/client/sender/index.ts +++ b/webAO/client/sender/index.ts @@ -1,7 +1,6 @@ import { sendIC } from "./sendIC"; import { sendSelf } from "./sendSelf"; import { sendServer } from "./sendServer"; -import { sendCheck } from "./sendCheck"; import { sendHP } from "./sendHP"; import { sendOOC } from "./sendOOC"; import { sendCharacter } from "./sendCharacter"; @@ -43,7 +42,6 @@ export interface ISender { ) => void; sendSelf: (message: string) => void; sendServer: (message: string) => void; - sendCheck: () => void; sendHP: (side: number, hp: number) => void; sendOOC: (message: string) => void; sendCharacter: (character: number) => void; @@ -59,7 +57,6 @@ export const sender = { sendIC, sendSelf, sendServer, - sendCheck, sendHP, sendOOC, sendCharacter, diff --git a/webAO/client/sender/sendCheck.ts b/webAO/client/sender/sendCheck.ts deleted file mode 100644 index 7eb47510..00000000 --- a/webAO/client/sender/sendCheck.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { client } from "../../client"; - -/** - * Sends a keepalive packet. - */ -export const sendCheck = () => { - client.sender.sendServer(`CH#${client.charID}#%`); -}; |
