Я хочу, чтобы несколько пользователей могли просматривать один и тот же веб-сайт (указанный URL-адрес c, с которым все согласны), и все события пользователей будут публиковаться так, чтобы у всех было одинаковое состояние. Так что вы можете использовать веб-сайт с несколькими людьми, но веб-сайт считает, что есть только один человек, аналогично тому, как вы используете один компьютер с несколькими людьми.
У меня есть две идеи, как это сделать:
Подход на стороне клиента: каждый загружает одну и ту же страницу с iframe
, а затем он обнаруживает все события пользователей и отправляет их друг другу, чтобы у всех было одинаковое состояние.
Проблемы:
- Каждый пользователь может использовать свой браузер, и веб-сайт может отличаться для всех, и также может произойти десинхронизация.
- Эмуляция кликов может быть затруднена.
Серверный подход: загружать веб-сайт только один раз на сервер, а затем отправлять все пользовательские события на сервер и возвращать пиксели веб-сайта обратно пользователям.
Проблемы:
- Потоковая передача состояния сайта (его внешний вид, пиксели) всем пользователям может быть довольно дорогой, но, возможно, она может только обновить пиксели, которые фактически изменились, а не все пиксели веб-сайта.
Поскольку подход 1 не кажется вполне осуществимым, я хотел бы попробовать подход 2, но я не уверен, с чего начать. Я заставляю сервер открывать URL в своем браузере и позволяю системе эмулировать клики в браузере?
Каков наилучший подход для решения этой проблемы, есть ли еще и лучшие подходы?