Connection 관리
PING/PONG
빗썸 API WebSocket 서버는 커넥션을 안정적으로 관리/유지하기 위해 WebSocket PING/PONG Frame을 제공합니다.
(참고 문서 : https://tools.ietf.org/html/rfc6455#section-5.5.2 )
Client to Server PING
- 기본적으로 서버는 아무런 데이터도 수신, 발신 되지 않은 채 약 120초가 경과하면 Idle Timeout으로 WebSocket Connection을 종료합니다.
- 이를 방지하기 위해 클라이언트에서 서버로 PING 메시지를 보내서 Connection을 유지하고, WebSocket 서버의 상태와 WebSocket Connection Status를 파악할 수 있습니다.
- 빗썸 API WebSocket 서버에서는 PING Frame 수신 대응이 준비되어 있습니다. 간단한 구현으로 클라이언트에서 PING 요청/PONG 응답(PING에 대한 응답 Frame)을 통해 서버 상태를 파악할 수 있습니다.
- 이에 대한 구성은 해당 클라이언트 개발 문서를 확인하시기 바랍니다.
(대부분의 라이브러리는 ping 함수가 내장되어 있을 가능성이 높습니다.) - 이외 PING 메시지를 보내 Connection을 유지할 수 있습니다.
Connection이 유지되고 있으면 {"status":"UP"} 응답을 10초 간격으로 받을 수 있습니다.
$ wscat -c wss://ws-api.bithumb.com/websocket/v1
Connected (press CTRL+C to quit)
PING
{"status":"UP"}
{"status":"UP"}
{"status":"UP"}
...