Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 03.10.2020, 21:24
Кандидат Javascript-наук
Отправить личное сообщение для Was-Ja Посмотреть профиль Найти все сообщения от Was-Ja
 
Регистрация: 20.09.2020
Сообщений: 132

Как быстро получить информацию о изменении статуса с сервера?
Добрый день,

есть фронтенд на JS + html + webgl, и бекенд на С + сокетах, без сервера, в лоб, ибо живет в реалтайме на ембеддед линуксе. И то и другое - пишу сам, то есть могу подстроиться.

Еще важный нюанс - бекенд на сервере может одновременно обслуживать несколько юзеров.

У меня часто есть такой сценарий - фронт послал команду беку, что типа измеряй, и ждет окончаний измерений. В это время юзер может смотреть предыдущие данные, которые фронт уже скачал и на вебгл отрисовывает.

Но бекенд иногда хочет быстро сообщить, что надо что-то там в приборе сделать.

Сейчас реализовал так, что раз в секунду посылаю бекенду команду GET и если бекенд послал в ответ специальный статус, то уже начинаю реагировать.

Мне эта конструкция не нравится тем, что постоянно гуляют пакеты туда-сюда, если юзер через мобильный интернет подключается, то у него может сосать много трафика.

Если делать запрос раз в 10-20-30 секунд, трафик будет меньше, но реакция на изменение состояния в приборе может быть с запозданием.

Скажите, пожалуйста, как правильно такую задачу решить?

Скажите, пожалуйста, правильно ли я мыслю, что мне надо послать GET команду и сервер на нее, например, будет 10 секунд не отвечать, если сказать нечего?

Скажите, пожалуйста, а будет ли нормально работать эта конструкция, если если на тот же бекенд-сервер придет еще одна команда от другого юзера на тот же порт, или в этом случае я должен каждому юзеру дать свой порт?

Спасибо!
Ответить с цитированием
  #2 (permalink)  
Старый 04.10.2020, 15:56
Кандидат Javascript-наук
Отправить личное сообщение для Was-Ja Посмотреть профиль Найти все сообщения от Was-Ja
 
Регистрация: 20.09.2020
Сообщений: 132

Спасибо большое за ответы!

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

Про порты - да, ошибся, действительно можно одним портом обойтись, спасибо!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как получить значение input зная name формы? Wimko Общие вопросы Javascript 1 12.04.2020 18:18
Управление скроллом "а-ля тач" HonesT Элементы интерфейса 2 27.08.2013 14:25
Как сохранить быстро перезагружаемую страницу? avatator Общие вопросы Javascript 8 16.05.2013 01:39
Как получить переменную с сервера? DmitryT AJAX и COMET 2 03.08.2011 18:16
Как получить файл с сервера AJlekceu AJAX и COMET 1 02.11.2008 13:41