Где лучшее место, чтобы положить разъем веб-сокета. угловатый
У меня есть личный веб-сокет, этот веб-сокет приносит мне информацию о пользователе, такую как баланс, уведомления и другие вещи. все приложения должны использовать этот веб-сокет. У меня есть компонент, к которому я подключился в этом веб-сокете, и я создал излучатель для трансляции при получении нового сообщения. пример: компонент websocket получает сообщение и отправляет событие компоненту x.
Это лучший способ реализовать это?
Я использую Angular 6 для создания этого приложения.
2 ответа
Как я знаю, это лучший способ - поместить веб-сокет в общий компонент, используемый приложением.
Просто позаботьтесь об информации, которую вы используете в этом веб-сокете, я имею в виду просто испускаем необходимую вам информацию, когда ваше приложение имеет много веб-сокетов, оно может зависнуть, это будет зависеть от того, как вы обрабатываете веб-сокеты, если вы излучаете это только для пользователя, который должен получить это, если вы отправляете только ту информацию, которая вам нужна, если вы не совершаете ненужных вызовов websockets.
Я рекомендую предоставить услугу, в которой будет размещено сокетное соединение и настройка.
Идея состоит в том, чтобы позволить службе распределять данные сокета через столько компонентов, которым нужны эти данные. Кроме того, делая это как сервис, вы можете гарантировать, что Angular сможет убедиться, что существует только одна копия сервиса, и, следовательно, удалить любые возможные дублирующие соединения, которые не нужны.