Size: a a a

JavaScript — русскоговорящее сообщество

2020 August 21

S🛸

Sergey 🛸 in JavaScript — русскоговорящее сообщество
Nau
Зачем? Пришло на фронт сообщение с информацией по набору датчиков, один из них отвалился. Узнаем на фронте, что один датчик отвалился из этого сообщения - выводим результат на экран.

Не знаю, что такое "веб сокет через веб сокет", честно говоря. Может не вполне тебя понимаю
Тебе нужно будет реализовать команды подключился к датчику, отключится, проверить статус
источник

N

Nau in JavaScript — русскоговорящее сообщество
Sergey 🛸
Тебе нужно будет реализовать команды подключился к датчику, отключится, проверить статус
Так это, на мой взгляд, нужно напрямую на бэке делать. И, опять таки, единым сообщением всю полученную информацию, включая инфу по этому датчику, на клиент доносить
источник

S🛸

Sergey 🛸 in JavaScript — русскоговорящее сообщество
На беке это будет сделать сложнее. У тебя может быть ситуация что сокет с датчиком уже закрыт, а от клиента пришли данные для этого датчика
источник

N

Nau in JavaScript — русскоговорящее сообщество
От клиента не могут прийти никакие данные, и не шлёт сам никаких сообщений, кроме рукопожатного для установки соединения. Это система мониторинга. Клиент лишь отображает показания
источник

S🛸

Sergey 🛸 in JavaScript — русскоговорящее сообщество
А что будешь делать когда появится такая возможность?
источник

N

Nau in JavaScript — русскоговорящее сообщество
Появится скорее потребность сделать одновременно 400 сокет соединений на фронте, когда не за сотней станций надо будет следить сразу, а поболее

Если идти по предложенной модели, и это пугает более
источник

NR

Nikolai Reguliarniy in JavaScript — русскоговорящее сообщество
Nau
От клиента не могут прийти никакие данные, и не шлёт сам никаких сообщений, кроме рукопожатного для установки соединения. Это система мониторинга. Клиент лишь отображает показания
Тогда тут не нужны вебсокеты
источник

N

Nau in JavaScript — русскоговорящее сообщество
Как же не нужны, если в режиме реального времени приходят данные, и их нужно отображать
источник

NR

Nikolai Reguliarniy in JavaScript — русскоговорящее сообщество
Nau
Как же не нужны, если в режиме реального времени приходят данные, и их нужно отображать
SSE для этого придуман
источник

N

Nau in JavaScript — русскоговорящее сообщество
Nikolai Reguliarniy
SSE для этого придуман
Спасибо, это справедливое замечание
источник

NR

Nikolai Reguliarniy in JavaScript — русскоговорящее сообщество
Nau
Спасибо, это справедливое замечание
Но в любом случае проблемы 100 потоков это не решает. Одна из задач бекенда - оптимально отдать данные на фронт, пускай этим и занимаются, нужно продавливать тимлида, чтобы принимал правильные архитектурные решения.
Как вариант аргументов - небезопасно(клиент не должен знать как ходить на датчик напрямую, клиенты могут заддосить датчик/занимать соединения - на бэке это удобнее контролировать), не будет дублирования данных (с бека можно отправлять данные с одного потока датчика на несколько клиентов), контроль данных (можно агрегировать, логировать, манипулировать данными на беке - например отправлять на клиент раз в 10 с вместо раз в 1с при необходимости, на беке надёжнее логировать и управлять недоступностью датчиков, меньше нагрузка на сами датчики и т.д.
источник

NR

Nikolai Reguliarniy in JavaScript — русскоговорящее сообщество
+ очень большая проблема может возникнуть с производительностью, когда дом придётся обновлять с данных, которые приходят асинхронно со 100 соединений в произвольные моменты
С одного соединения будет проще агрегировать апдейты дом
источник

KS

Konstantin Sedykh in JavaScript — русскоговорящее сообщество
Nikolai Reguliarniy
+ очень большая проблема может возникнуть с производительностью, когда дом придётся обновлять с данных, которые приходят асинхронно со 100 соединений в произвольные моменты
С одного соединения будет проще агрегировать апдейты дом
вот уж вообще не проблема вразнобой элементы изменять или все скопом. никакой просадки не будет.
источник

S🛸

Sergey 🛸 in JavaScript — русскоговорящее сообщество
Nikolai Reguliarniy
+ очень большая проблема может возникнуть с производительностью, когда дом придётся обновлять с данных, которые приходят асинхронно со 100 соединений в произвольные моменты
С одного соединения будет проще агрегировать апдейты дом
Обновляй дом после того как получил все 100 датчиков
источник

S

Szazzq in JavaScript — русскоговорящее сообщество
Всем привет. Может знает кто: каким образом stackblitz, jsfiddle и прочие подобные сервисы выводят ошибки из консоли браузера в свою кастомную консоль, которая вставлена с iframe?

Там вывелись даже ошибки, которые мне выкинуло расширение в браузере. Но ведь консоль читать нельзя — как это тогда реализовано?
источник

S🛸

Sergey 🛸 in JavaScript — русскоговорящее сообщество
Szazzq
Всем привет. Может знает кто: каким образом stackblitz, jsfiddle и прочие подобные сервисы выводят ошибки из консоли браузера в свою кастомную консоль, которая вставлена с iframe?

Там вывелись даже ошибки, которые мне выкинуло расширение в браузере. Но ведь консоль читать нельзя — как это тогда реализовано?
Можно переопределить window.console
источник

S

Szazzq in JavaScript — русскоговорящее сообщество
Sergey 🛸
Можно переопределить window.console
спасибо
источник

R

Ronald in JavaScript — русскоговорящее сообщество
Всем return
источник

S🛸

Sergey 🛸 in JavaScript — русскоговорящее сообщество
Ronald
Всем return
Хорошо что не throw
источник

CM

Chingiz Mamiyev in JavaScript — русскоговорящее сообщество
Sergey 🛸
Хорошо что не throw
:D
источник