alex4answ
@alex4answ

Как организовать работу с WebSocket?

Добрый день, нужно из разных компонентов на разных уровнях подписаться на WebSocket.

Где мне стоит выполнить подключение?

У меня 2 варианта:
1. Использовать контекст, передавая подключение
2. Подключение в отдельном файле, а в useEffect компонента подписываться на обновления.

Но найти хороших примеров, где не тяп ляп "щас вот в useEffect все по быстрому настроим", я не нашел.
Не понятно как и где стоит делать обработку ошибок, обрыв соединения и тп.

Подскажите пожалуйста, может быть у кого-то есть какие-то наработки, либо видел github проекты качественные, а не обрубок "работает и ладно, сойдет".

Как обычно организовывают работу с ws, где хранят подключения, как передают компонентам, как обрабатывают отключение ?
  • Вопрос задан
  • 72 просмотра
Решения вопроса 1
miraage
@miraage
Старый прогер
Зависит от размера проекта и дальнейшей поддержки. Если раз-два-плюнуть, то хоть через `window.ws = new WebSocket()`. Если уже нужно что-то более лаконичное, то я бы постарался максимально изолировать подключение к сокету от компонентов. Сделал бы так, чтобы какой-нибудь контекст прокидывал лишь бизнес-методы компонентам. А саму работу с сокетом делал под капотом, скрывая это от компонентов.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы