Я использовал webstomp-client для получения определенных обновлений с сервера (вроде потоковой передачи определенных данных с сервера).У меня есть весенняя загрузка на стороне сервера.
конфигурации на стороне сервера:
sockJS:
streamBytesLimt: 4194304
serverHeartbeatMs: 5000
clientHeartbeatMs: 5000
stomp:
sendBufferSizeLimit:10485760
messageSizeLimit:5242880
sendTimeOut: 30000
А на стороне клиента у меня угловой пользовательский интерфейс с клиентом webstomp.код клиента выглядит следующим образом:
stompClient.connect(
{} as any,
() => {
console.log("connected")
// some code
},
error =>{
stompClient.disconnect(() => {
setTimeout(() => {
this.connect();
},this.RECONNECT_TIME);
});
});
** В большинстве случаев работает хорошо, но иногда соединение не удается, хотя сеть работает хорошо.**
Последовательность событий: =
1)For some reason request(xhr) doesn't go from webstomp client (checked in Network
tab of chrome)
2)Unless stomp client is connected, we dont send heartbeat.
3) when server realizes session is ideal for more than (60s), websocket
closes the session
4) Error block of webstomp client 's connection request gets executed.
5) Then I try reconnecting after disconnecting gracefully, And 1,2,3,4
continues until page is being refreshed.
журнал браузера: код ошибки: 1006 ОШИБКА: статус http 500 (поскольку сервер закрыл сеанс из-за неактивности в течение более 60 с, за исключением)