hottabxp
@hottabxp
Эксперт по BeautifulSoup(но это не точно!)

Какие технологии использовать для пересылки данных клиент — сервер — клиент?

Хочу запилить проект для живого обмена исходным кодом. 2 пользователя заходят по уникальной ссылке. У них на странице ace editor. Есть скрипт на сервере на python, он висит и слушает входящие события от 2 web страниц. Я ввожу исходный код, нажимаю кнопку и код пересылается на сервер скрипту на python. Он (скрипт) отреагировал и послал либо этот код, либо же уведомление моему собеседнику, что есть новые данные от меня. Какие технологии можно использовать?
  • Вопрос задан
  • 74 просмотра
Решения вопроса 2
Seasle
@Seasle Куратор тега JavaScript
Помог - отметь решением \( ゚ヮ゚)/
WebSocket, точно не AJAX и вообще не запросы.
Ответ написан
trapwalker
@trapwalker Куратор тега Python
Программист, энтузиаст
Если вы хотите замутить что-то вроде многопользовательского редактора, как в docs.google.com, то пересылать вам надо не куски кода, а события вида:
  • перемещение курсора
  • вставка текста в позицию
  • выделение блока
  • удаление блока

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

Как вам уже предложили, имеет смысл использовать WebSocket для этой задачи, но технически вам ничто не мешает использовать и WebRTC. Второй вариант сильно сложнее, зато потенциально быстрее, работает в пиринговом режиме, не загружает сервер.
Сам факт вашего вопроса подсказывает мне, что правильно реализовать все это у вас не хватит опыта.
Попробуйте упростить требования и начните с того, что умеете. Аякс умеете -- делайте с ним. всё равно десять раз перепишете в процессе получения опыта и пересмотра архитектуры. Зато у вас уже будет MVP и понимание хотите ли вы вообще этим заниматься и потянете ли.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы