Open TruongLuan1996 opened 6 years ago
Bạn có thể cho biết thời gian bạn kết nối được WebSocket trong bao lâu thì bị disconnect?
Thưa thầy, nó không xác định nhưng em thấy để lâu lắm mới bị, thường là khuya mới bị. Hôm qua e để cả ngày cũng không sao nên em cũng không biết bị vấn đề gì
Vậy là không có gì bất thường cả bạn nhé:
Trong một số tình huống WebSocket có thể bị ngắt kết nối do mạng gặp vấn đề, hoặc server chạy blockchain phải restart do mình deploy (ít khi xảy ra). Giả sử ràng không phải do timeout mà mất kết nối WebSocket thì phải làm sao?
Kiểm tra số block đang có và số block trên blockchain bằng REST API
Cập nhật các block mới và transaction mới (có thể phải duyệt qua nhiều trang cho đến khi không còn block mới), điều này dẫn đến sự thay đổi số dư của các địa chỉ cũng như có thể dẫn đến xuất hiện giao dịch nộp tiền của người dùng. Bạn phải gọi lại các hàm xử lý sự kiện như khi bạn nhận được các block này qua WS dù chúng ta đang lấy nó qua REST (vì sự kiện trên WS đã trôi qua)
Kết nối lại WS và tiếp tục xử lý sự kiện trên các block phát sinh trong tương lai khi nhận được qua WS
Để làm được điều này các bạn cần lắng nghe các sự kiện connect, message và disconnect của WS để có những xử lý phù hợp nhằm đảm bảo sự đồng bộ thông tin với blockchain.
Chào mọi người, mình đang bị tình trạng websocket connect sau một thời gian thì bị close connection( dù đã set 30s gửi 1 message để giữ kết nối như thầy đã nói). Không biết có ai bị tình trạng tương tự không?