WebSocket-Häerzschléi am Browser brauchen en Applikatiounsprotokoll
Entwerft en ofgesprachenen Applikatiounshäerzschléi, wann Browser-JavaScript keng WebSocket-Ping-Framen direkt ka schécken.
D'WebSocket-API vum Browser huet send(). Si bitt keng allgemeng ping()-Method, mat där JavaScript Ping-Framen vum Protokoll ka schécken.
Wann Är Applikatioun eng Textnoriicht wéi {"type":"heartbeat"} schéckt, sinn dat Applikatiounsdaten. De Server muss d'Noriicht verstoen an eng Äntwert definéieren. E Server, deen dee Kontrakt net ëmsetzt, ass net verflicht, mat engem Protokoll-Pong ze äntweren, just well den Text d'Wuert ping enthält.
Definéiert, wat eng Bestätegung bedeit, wéi se den ausstiewe Häerzschléi identifizéiert a wéini eng al Bestätegung ze spéit kënnt. Hält dat getrennt vun der Bestätegung vun enger Geschäftsoperatioun.
En JavaScript-Timer huet och Plangsbeschränkungen. Hannergrondtabs an ausgelaascht Haaptthreads kënnen d'Ruff erëm verzögeren. Interpretéiert eng verpasst exakt Timergrenz net als entscheedend Beweis, datt de Proxy opgehalen huet weiderzeleeden.
De Browser ka Kontrollframen vum Protokoll intern behandelen, awer dat gëtt dem Applikatiounscode keng transportabel Vue vun all Ping oder Pong. Wann d'Säit eng eege Liewensentscheedung brauch, benotzt en explizite Applikatiounskontrakt an eng Erhuelungspolitik.
E Socket, deem säin readyState OPEN ass, gëtt lokal als op gesinn; dat ass keng onofhängeg Miessung, datt déi wäit Applikatioun Är lescht Noriicht veraarbecht huet. Benotzt d'Beweiser, déi zu der Fro passen, déi Dir tatsächlech musst beäntweren.