Interface: EngineSocketHandlers
Defined in: src/realtime/engine.ts:23
치지직 세션 서버용 경량 Engine.IO v3 클라이언트.
의존성 최소화 원칙에 따라 socket.io-client@2 대신 자체 구현했다. 프로토콜(EIO=3)과 연결 흐름은 실측으로 검증됨 — docs/api-notes.md "실시간 연결 관련 중요 참고" 참조.
- WebSocket 전송:
globalThis.WebSocket이 있으면 사용 (Node 22+, 브라우저). 공식 가이드의transports: ['websocket']과 동일하게 업그레이드 없이 직결. - 폴링 전송: WebSocket이 없는 런타임(Node 18/20)용 폴백. 순수 fetch 기반.
- 두 모드 모두 ping(2)/pong(3) 하트비트를 유지하고, pong 미수신 시 죽은 연결로 판정해 onClose를 발화한다.
Methods
onClose()
ts
onClose(reason, cause?): void;Defined in: src/realtime/engine.ts:27
연결 종료 (정상/비정상 공통, 정확히 1회)
Parameters
reason
string
cause?
unknown
Returns
void
onMessage()
ts
onMessage(socketIoPacket): void;Defined in: src/realtime/engine.ts:25
socket.io 패킷 수신 (엔진 MESSAGE payload — 예: "0", "2["SYSTEM",...]")
Parameters
socketIoPacket
string
Returns
void