Websocket - спам-соединения - PullRequest
0 голосов
/ 07 ноября 2019

Итак, у меня сейчас есть приложение чата, которое обрабатывает несколько комнат. Это просто странно, чем то, что время от времени происходит спам, связанный с закрытием и повторным подключением веб-сокета. Боюсь, это повлияет на производительность.

 useEffect(() => {
      if (convoId !== undefined) {
        client.configure({
          brokerURL: WEBSOCKET_URL,
          connectHeaders: stompHeader,
          onConnect: () => {
            console.log('onConnect');
              client.subscribe(`/secure/room/${topicId}`, mes => {
                const json = JSON.parse(mes.body);
                setMessages(prev => prev.concat(json));
              });
            setIsConnected(true);
          },
          onDisconnect: () => {
            console.log('disconnected');
            setIsConnected(false);
          },
          onWebSocketClose: () => {
            console.log('closed');
            setIsConnected(false);
          }
        });
        client.activate();
      }
  }, [convoId, messages, topicId]);


  history.listen( location => {
    client.forceDisconnect();
    setIsConnected(false);
    setPage(0);
  })

Консоль:

closed
closed
closed
closed
closed 
closed 
closed
closed
onConnect 
onConnect
onConnect
onConnect
onConnect
onConnect
onConnect
onConnect
onConnect
onConnect
...