https://github.com/jiho5993/playground/blob/main/packages/helper/src/websocket.helper.ts
블록체인 프로젝트에서 블록체인 정보를 빠르게 캐치하여 DB에 반영해야 한다면, 빠르면서도 효율적으로 동기화할 수 있는 방법이 필요합니다. 특히 일부 블록체인은 정보가 매우 빠르게 갱신되기 때문에, HTTP 통신의 TCP 연결로는 최신 데이터를 적시에 반영하기 어렵습니다.
근본적인 원인은 아래와 같습니다.
이러한 문제를 해결하기 위해, 지속적인 양방향 통신이 가능한 Websocket 기술을 도입하여 Helper를 구현했습니다.
웹소켓은 서버와 브라우저간의 연결을 유지한 상태로 데이터를 교환할 수 있는 프로토콜입니다.
요청하면 커넥션이 생기고 서버의 응답 이후 커넥션이 끊기는 http와는 달리,
웹소켓은 한번 연결하고 통신하는 엔드 측이 커넥션을 끊기 전까지 양방향 통신이 가능합니다.