LINUX.ORG.RU

Как не рвать соединение с сервером?

 


0

1

Доброго времени суток!

Не знаю, куда лучше кинуть эту тему: в Web-development или сюда. пусть будет сюда.

Встала задача написать клиент-серверное приложение, которое работает постоянно «БЕЗ_ЕДИНОГО_РАЗРЫВА». То есть, если по порядку, то так:

1) создается сокет в клиенте и в сервере.

2) устанавливается между ними соединение.

3) идет передача данных по типу «запрос-ответ». Допустим, каждую секунду проверяется температура процессора сервера (но не важно, какая именно задача; важно, что запросы идут достаточно часто).

4) если соединение в силу внешних причин рвется, то пользователя об этом уведомляют и клиент через каждые N секунд старается возобновить соединение.

Очень стандартная задача. Также требуется, чтобы решение было кроссплатформенным и легко переносимым.

Лучшим решением здесь является написать веб-морду с Java-скриптом и связываться с сервером, используя любой браузер.

Вопрос: в какую сторону гуглить, дабы найти, как при помощи JavaScript сделать постоянный опрос сервера?

★★

передача данных по типу «запрос-ответ»
каждую секунду

Ну и нахера ради такого сокеты городить?
Тут обычный старый добрый аякс не хуже и гораздо проще справится.
Сокеты нужны для совсем других вещей.

как при помощи JavaScript сделать постоянный опрос сервера

WebSockets это называется, но оно тебе не нужно для такой задачи.

в какую сторону

В сторону отброса ненужных требований, которые какой-то маркетолух напридумывал не от большого ума.
Составь для начала минимальное ТЗ и подумай что там важно и нужно.
Архитектуру планировать когда не ясно зачем она будет нужна — верная дорога в жопу.

Goury ★★★★★ ()
Ответ на: комментарий от Goury

Спасибо! надеюсь, скорость работы не сильно пострадает при переходе с c++ на питон+аякс.

aido ★★ ()
Ответ на: комментарий от aido

Это зависит от характера работы, в редких случаях даже улучшения бывают.
В 98% случаев система упирается в IO и в СУБД и от смены инструмента разработки приложений в производительности не меняется вообще ничего.

Goury ★★★★★ ()

https://github.com/faye + всякие аналоги.
https://github.com/nodeca/tabex - чтобы когда открыли много табов, коннекты не плодились (слегка бета)

Это если тебе надо в «новые технологии» погружаться. А так - делай обычные запросы аяксом и не парься.

Vit ★★★★★ ()

Стандартное решение - вебсокеты.

NeXTSTEP ★★ ()
Ответ на: комментарий от Goury

Кстати, встречный вопрос: для чего нужны сокеты, если уже столько всяких разных оберток над ними написано?

aido ★★ ()
Ответ на: комментарий от aido

Чтобы все эти обёртки продолжали работать и чтобы можно было новые обёртки писать.

Goury ★★★★★ ()

Бери веб сокеты и не слушай неосиляторов. Тогда можно будет даже не опрашивать сервер, а просто слушать сообщения об изменении температуры.

redixin ★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.