Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 17.06.2013, 09:54
Интересующийся
Отправить личное сообщение для MaximusFT Посмотреть профиль Найти все сообщения от MaximusFT
 
Регистрация: 07.06.2013
Сообщений: 14

AngularJS, 2 и более пользователей на одной странице - SSE?
И так, в попытках определить нужен ли мне AngularJS для следующего проекта, возник вопрос:
Есть приложение, допустим 1 страница, на которой встречаются несколько пользователей.
Регистрация и авторизация, далее у человека свой набор инструментов на странице. Так же есть Общие инструменты между пользователями.
Ну как пример:
1) Чат
2) Пятнашки, ну скажем по-шаговый кооператив.

В одном из проектов по "социальной" сети я использовал Server-Sent Events. Очень удобная штука. Писал ее для приложения не я, но для обновления последних сообщений, фотографий, событий на стене пользователя и прочей обновляемой вещи супер.

Вот скажем на одном из двух примеров, можно ли реализовать это.
То есть не так чтобы я обоими пользователями постоянно сканировал область хранения данных и при обновлении - обновлял экран. А так чтобы был мост либо между пользователями или сервер отдавал пользователю команду что нужно обновить Пятнашки чтобы увидеть ход соперника.

Надеюсь не сложно объяснил.
Ответить с цитированием
  #2 (permalink)  
Старый 17.06.2013, 11:22
Профессор
Отправить личное сообщение для DjDiablo Посмотреть профиль Найти все сообщения от DjDiablo
 
Регистрация: 04.02.2011
Сообщений: 1,815

Angular по словам разработчиков заточен под crud приложения, создание/чтение/обновление/удаление записей в базе данных на сервере. Иными словами это админки сайтов, crm, erp, соц сети , какие либо биржы или аукционы, интернет магазины, сайты знакомств и другие подобные приложения. Возможно проканает какая нибудь текстовая игра.

В тоже время на angular не стоит писать realtime игры вроде RPG/RTS, приложения вроде word, и вообще едва ли разумно делать то что завязано на canvas или opengl. Наверно нет смысла применять его и в мелких скриптах вроде слайдера.

Иными словами ангуляр рулит прежде всего там там где много ввода/вывода информации через различные формы, это процентов 95% всех приложений.

Server-Sent Events можно свободно применить в любом фреймворке без исключений, в том числе и в Angular. Иными словами к фреймворку не каких особых требований не предъявляется .

var app = angular.module('sse', []);
 
    // контролёр
    function appCtrl($scope) {
 
        // обьект информацию из которого мы покажем в шаблоне
        $scope.msg = {};
 
        // функция которая будет вызвана по событию с сервера
        var handleCallback = function (msg) {
            //поместим информацию пришедшую с сервера в scope
            $scope.$apply(function () {
                $scope.msg = JSON.parse(msg.data)
            });
        }

        //подключаемся к источнику событий
        var source = new EventSource('/stats');

        //подписываемся на событие сервера
        source.addEventListener('message', handleCallback, false);
    }


Также EventSource('/stats'); можно вынести в отдельный сервис, и подключать сервис там где он используется.

В случае если несколько заинтерисованных директив принадлежат одному контролу, то есть смысл разместить обработку событий в родительском контроле, чтобы взаимодействие с сервером было централизованным. Данные же можно будет подключить к директивам через связывание.
__________________
Лучше калымить в гандурасе чем гандурасить на колыме

Последний раз редактировалось DjDiablo, 17.06.2013 в 12:29.
Ответить с цитированием
  #3 (permalink)  
Старый 28.04.2014, 18:31
Интересующийся
Отправить личное сообщение для MaximusFT Посмотреть профиль Найти все сообщения от MaximusFT
 
Регистрация: 07.06.2013
Сообщений: 14

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

Есть события которые добавляют клиенты, модератор должен сидеть перед экраном и когда происходит событие принимать определенные действия...

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

Подскажите / помогите получать информацию из сервера.
При чем все события у меня хранятся в MySQL, как их достать и передать знаю.
Ответить с цитированием
  #4 (permalink)  
Старый 29.04.2014, 10:38
Интересующийся
Отправить личное сообщение для MaximusFT Посмотреть профиль Найти все сообщения от MaximusFT
 
Регистрация: 07.06.2013
Сообщений: 14

Если вдруг кто-то собирался ответить - буду рад ответу.

Но, нашел неплохой пример:
http://www.anupshinde.com/posts/live...pps-angularjs/
http://livebase.anupshinde.com/

Большая часть вопроса закрыта...
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Несколько версий JQuery UI на одной странице. Casufi jQuery 2 10.11.2012 15:24
Не работают два JS скрипта вместе на одной странице 5art@mail.ru Events/DOM/Window 44 15.07.2012 18:51
Копировать значение input с одной странице на другую lamer Элементы интерфейса 0 06.03.2012 04:03
Как сделать 2 галереи JQuery на одной странице? orendzi jQuery 8 16.07.2011 15:22
Два одинаковых сценария на одной странице Genetics Общие вопросы Javascript 7 12.07.2009 01:46