개요

socket.io를 사용하기로 결정한 상황에서 재연결은 어떻게 이뤄지는지 알아보자.

  1. socket.io는 engine.io 위에 구축되어 있다.

  2. 연결을 확인하는 메커니즘인 heartbeat는 이 engine.io에서 일어난다.

  3. http 프로토콜로 handshake 과정이 일어난 후에 engine.io가 heartbeat 매커니즘으로 연결 상태를 확인한다.

    스크린샷 2023-11-24 오후 8.58.59.png

    key 유형 설명
    sid string 세션 id
    upgrades string[] 사용할 서브 프로토콜 종류
    pingInterval number 하트비트 메커니즘에 사용되는 핑 시간 간격 (ms)
    pingTimeout number 하트비트 메커니즘에 사용되는 핑 시간 제한 (ms)
    maxPayload number 청크당 최대 바이트 수
    {
      "sid": "lv_VI97HAXpY6yYWAAAC",
      "upgrades": ["websocket"],
      "pingIntpierval": 25000, 
      "pingTimeout": 20000,
      "maxPayload": 1000000
    }
    

socket.io의 재연결 검증

결론