Как стать автором
Обновить

Комментарии 3

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


как вариант
    con.onmessage = function (response) {
            if (typeof (response.data) === 'string')
            {
                var r = rg.exec(response.data);
                try {
                    if (r[1].includes('.'))
                    {
                        var d = r[1].split('.');
                        window[d[0]][d[1]](r[2]);
                    } else
                    {
                        window[r[1]](r[2]);
                    }
                } catch (er) {
                    console.log('ошибка ' + er.stack);
                    console.log('вызов ' + r[1]);
                    console.trace();
                }
            }   

где *rg = /^([a-z_0-9.]{1,})|([\s\S])/i;**(к примеру)


На серверной стороне также просто реализуется (на java, как минимум) есть метод onmessage, который "вызывает" с помощью рефлексии (про медленность рефлексии прошу не высказываться, это давно не так) нужный метод. для каждой страницы свой файл .java в котором находятся методы для работы с данной страницей. Наглядно, удобно.
Это конечно не Angular, но количество "служебного кода" намного меньше.

Нет ли у вас полного примера?
есть рабочие проекты, могу надергать. Что конкретно интересует? Серверная часть (там java)? Клиентская? после минусов здесь выкладывать не хочется :)
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Изменить настройки темы

Истории