почему клиент web-stomp через sockJS иногда отключается автоматически и не подключается, пока страница не обновляется? - PullRequest
0 голосов
/ 30 сентября 2018

Я использовал 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 с, за исключением)

...