Я предполагаю, что запросы push / get будут слишком медленными для этого - может ли это быть решено с помощью веб-сокетов?У кого-нибудь есть какие-нибудь хорошие библиотеки JS, которые можно порекомендовать для этого?
Если вам нужна инфраструктура реального времени, я создал список технологий реального времени, которые могут быть вам полезны.К ним относятся размещенные службы, такие как Pusher , на которых я работаю, и технологии самостоятельной установки, такие как решения WebSocket и Comet.
WebSocket звучит как идеальный выбор технологии для вас, поскольку у них естьстать частью HTML5 и предлагать наиболее эффективные средства для двунаправленной связи в режиме реального времени между веб-сервером и браузером (или другими клиентами).
Кроме того, что будет идеально (но легче для понимания студентами)) архитектура выглядит так.Допустим, у вас есть 30 одновременно работающих пользователей - каждый из них подключается к серверу через веб-сокеты, а сервер объединяет / объединяет все их запросы в один, а затем возвращает объединенный файл (своего рода минимальный JSON или даже просто координаты).) для каждого подключенного пользователя?
Звучит так, что вам, вероятно, следует где-то хранить текущее состояние, и при начальной загрузке приложения отображать это состояние.Затем используйте инфраструктуру реального времени для отправки дельт в этом состоянии или, если это рисунок на холсте, просто информация о нарисованной линии и т. Д. И информация о том, кто ее нарисовал.
Будетwebsockets и (я предполагаю) холст сможет принять это?Так что все еще выглядит быстро?Существуют ли (jQuery-подобные) библиотеки JS, чтобы сделать нашу жизнь проще - или вы думаете, что это слишком сложно для двухнедельного проекта летней школы?
Совместное рисование в режиме реального времени наиболееопределенно достижимо, и было создано несколько примеров этого.A google открывает множество возможностей.
Если эта технология является совершенно новой для вас, и вы бы предпочли сконцентрироваться на создании приложения для совместной работы, я бы рассмотрел возможность использования службы для вашего приложения.вместо того, чтобы изучать, как устанавливать и настраивать или даже кодировать свою собственную инфраструктуру (я говорю это не просто потому, что работаю на такой сервис. Я, честно говоря, считаю, что это имеет смысл).