Skip to content

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

공식 OPEN API만 지원 — 비공식 엔드포인트 0건