Caver-js 내 WebsocketProvider 관련 문의드립니다

안녕하세요. caver-js 의 WebsocketProvider 관련하여 문의드립니다.

현재 블럭에서 정보 받아오는 부분을 WS을 사용하고, 그 외에 노드와 통신해서 데이터를 가져오는 부분의 대부분을 ws을 사용하고 있습니다.

그런데 최근에 ws 연결이 자주 끊겨서 (Error: connection not open on send() 발생)
아래의 페이지에서 auto reconnect 옵션을 추가했습니다.

문제가 이제 해결되는가 싶더니 어제새벽에는
Error: CONNECTION ERROR: Provider started to reconnect before the response got received!
라는 에러가 발생하면서 또 연결이 끊겼는데

어떻게 하면 최대한 끊김없고, 알아서 재시동(?)하게 ws을 사용할 수 있을까요? caver.js에 error.js에 있는 모든 예외에 대한 처리를 하게 코드를 구현해두는게 제일 좋을까요?ㅠㅜ

안녕하세요, 데이터가 좀 클 경우 해당 에러가 발생할 수 있습니다.

ws povider를 생성할 때 옵션으로 아래와 같이 설정해서 진행해보시고, 그래도 에러가 발생하는 케이스가 있다면, https를 사용하는 것을 고려해보시길 추천드립니다.

wsOptions = { 
    clientConfig: {
        maxReceivedFrameSize: 1500000,
        maxReceivedMessageSize: 10000000
    }
}
const provider = new Caver.providers.WebsocketProvider("wss://...", wsOptions)

값은 상황에 따라 더 키워볼 수도 있을 것 같습니다.

감사합니다.

1개의 좋아요

~Size 옵션은 예시로 들어주신 것보다 크게 잡아서 사용하고 있는데 에러가 발생했으니… ws을 사용할 부분을 제한해서 그 외에는 https를 사용하는게 맞을 것 같네요. 답변 감사합니다!