Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / HTML, JavaScript, VBScript, CSS Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2 3 4 5 6 7 8 9 10 .. 34   вперед  Ctrl
 Обещанный пример по websocket  [new]
вадя
Member

Откуда: Екатеринбург
Сообщений: 15471
я использую эту библиотеку http://tootallnate.github.io/Java-WebSocket/
немного её именив, т.е. сам websocket у меня содержит дополнительные поля Name и Session.
у всех клиентов (браузеров) есть такой код 20751483
при отработке такоко кода на клиенте
con.send('yyy13|7777');

на сервере будет вызван метод
public void onMessage(WebSocket webSocket, String data) 

который распарсив строку data, с помощью рефлексии вызовет метом yyy13 и передаст ему данные 777
+ метод yyy13
public void yyy13(String param) {
        ResultSet rs;
        StringBuilder sb = new StringBuilder();
        try (Connection con_ = DriverManager.getConnection(Singleton.getBASE(), Singleton.getBASE_LOGIN(), Singleton.getBase_password());
                CallableStatement proc_ = con_.prepareCall("{call yyy13(" + param + ")}");) {

            proc_.execute();
            rs = proc_.getResultSet();
            sb.append("yyy13|<tbody>");
            while (rs.next()) {
                sb.append("<tr ")
                        .append("data-id_inh='").append(rs.getString("id_inhibitor")).append("' ")
                        .append("data-id_part_inh='").append(rs.getString("id_inhibitor")).append("' ")
                        .append("data-weight='").append(rs.getString("weight")).append("' >")
                        .append("<td>").append(rs.getString("part_inhibitor")).append("</td>")
                        .append("<td>").append(rs.getString("date_inhibitor")).append("</td>")
                        .append("<td>").append(rs.getString("brand")).append("</td>")
                        .append("</tr>");
            }
            sb.append("</tbody>");
            webSocket_.send(sb.toString());
            proc_.getMoreResults();
            rs = proc_.getResultSet();
            rs.next();
            webSocket_.send("yyy13_1|" + rs.getString("id"));

            Collection<WebSocket> conn1 = conn;
            synchronized (conn1) {
                for (WebSocket c : conn1) {
                    if (c.getName().equals("operator")) {
                        c.send("aaa01| юзер " + webSocket_.getName() + "  запросил " + param);
                    }
                }
            }

        } catch (SQLException ex) {
            ex.printStackTrace();
        }
    }


По тз возможно несколько первоначальных условий, реализация каждого из них будет отличаться.
приведён примитивный случай , когда необходимо вывести информацию только одному юзеру под логином "operator" поэтому используется простой for.
если любой юзер отправит запрос
con.send('yyy13|7777');

то сервер вернёт ему два сообщения, которые будут обработыны двумя функциями
function yyy13(p){
     document.getElementById('dddd').innerHtml=p;
}
function yyy13_1(p){
     document.getElementById('fffff').innerHtml=p;
}


юзера operator на его странице xxxx.jsp , будет вызвана
function aaa01(p){
     document.getElementById('vvv').innerHtml=p;
}
которая , к примеру, в див выведет значение p
если у юзера оператор открыта страница yyy.jsp на котороё нет функции aaa01, то отработает catch
31 авг 17, 11:12    [20761099]     Ответить | Цитировать Сообщить модератору
 Re: Обещанный пример по websocket  [new]
вадя
Member

Откуда: Екатеринбург
Сообщений: 15471
идея раделения предаваемых данных на "команду" и "данные" взята тут https://habrahabr.ru/post/128380/
31 авг 17, 11:30    [20761171]     Ответить | Цитировать Сообщить модератору
 Re: Обещанный пример по websocket  [new]
hVostt
Member

Откуда:
Сообщений: 15267
вадя,

Не думал, что в Java настолько убогая работа с вебсокетом...

con.send('yyy13|7777');


Вызов метода? Серьёзно?? Передача данных в String? Ну и адское убожество.

SignalR:

server.method_1(3.1415, 'hello', new Date());

server.method_2('some string', { a: 1, b: 2 });


Все данные передаются типизировано, привязка к серверным функциям осуществляется автоматически.

Я-то думал, ты работаешь с вебсокетом с человеческим лицом, а у тебя... адский трешак до седых волос.
31 авг 17, 11:33    [20761186]     Ответить | Цитировать Сообщить модератору
 Re: Обещанный пример по websocket  [new]
hVostt
Member

Откуда:
Сообщений: 15267
И ещё... использовать WebSocket для передачи на клиента кусков HTML, это что-то новенькое
31 авг 17, 11:34    [20761193]     Ответить | Цитировать Сообщить модератору
 Re: Обещанный пример по websocket  [new]
вадя
Member

Откуда: Екатеринбург
Сообщений: 15471
hVostt
Не думал, что в Java настолько убогая работа с вебсокетом...
ты бы не позорился , знаток всего. называть кусок из javascript кодом java...
ты даже не представляешь что такое websocket.
hVostt
использовать WebSocket для передачи на клиента кусков HTML, это что-то новенькое
ну а передать json не трешак?
31 авг 17, 11:41    [20761217]     Ответить | Цитировать Сообщить модератору
 Re: Обещанный пример по websocket  [new]
skyANA
Member

Откуда: Зеленоград
Сообщений: 26400
вадя,

а где то место в коде, где определяется, что в базе появился новый заказ и надо оповестить оператора?
31 авг 17, 11:45    [20761242]     Ответить | Цитировать Сообщить модератору
 Re: Обещанный пример по websocket  [new]
вадя
Member

Откуда: Екатеринбург
Сообщений: 15471
skyANA
а где то место в коде, где определяется, что в базе появился новый заказ и надо оповестить оператора?
если "команда" ууу13 передаёт данные, для заказа, а хранимка yyy13 фиксирует этот заказ в базе , то отправка юзеру с логином "operator" и есть оповещение.
31 авг 17, 11:49    [20761259]     Ответить | Цитировать Сообщить модератору
 Re: Обещанный пример по websocket  [new]
skyANA
Member

Откуда: Зеленоград
Сообщений: 26400
вадя
skyANA
а где то место в коде, где определяется, что в базе появился новый заказ и надо оповестить оператора?
если "команда" ууу13 передаёт данные, для заказа, а хранимка yyy13 фиксирует этот заказ в базе , то отправка юзеру с логином "operator" и есть оповещение.

Хм, то есть если сам магазин развёрнут на одном сервере(ах), а админка для оператора на другом, то не работает, верно?
31 авг 17, 11:52    [20761271]     Ответить | Цитировать Сообщить модератору
 Re: Обещанный пример по websocket  [new]
вадя
Member

Откуда: Екатеринбург
Сообщений: 15471
skyANA
Хм, то есть если сам магазин развёрнут на одном сервере(ах), а админка для оператора на другом, то не работает, верно?
что такое админка для оператора?
и что значит сам магазин?
админка - это часть того же магазина, такая же страница как и все страницы магазина. и находится на там же где и весь магазин. только доступ к админке по логину/паролю и прочей авторизации(при необходимости)
31 авг 17, 12:05    [20761306]     Ответить | Цитировать Сообщить модератору
 Re: Обещанный пример по websocket  [new]
skyANA
Member

Откуда: Зеленоград
Сообщений: 26400
вадя
skyANA
Хм, то есть если сам магазин развёрнут на одном сервере(ах), а админка для оператора на другом, то не работает, верно?
что такое админка для оператора?
и что значит сам магазин?
админка - это часть того же магазина, такая же страница как и все страницы магазина. и находится на там же где и весь магазин. только доступ к админке по логину/паролю и прочей авторизации(при необходимости)

В крупных системах всё не так. А мы же о крупной системе, верно?
31 авг 17, 12:15    [20761345]     Ответить | Цитировать Сообщить модератору
 Re: Обещанный пример по websocket  [new]
skyANA
Member

Откуда: Зеленоград
Сообщений: 26400
И подход, когда в одном методе и работа с БД, и формирование HTML, и оповещение, мне совершенно не нравится.
31 авг 17, 12:22    [20761371]     Ответить | Цитировать Сообщить модератору
 Re: Обещанный пример по websocket  [new]
вадя
Member

Откуда: Екатеринбург
Сообщений: 15471
skyANA
В крупных системах всё не так. А мы же о крупной системе, верно?
приведи пример?
что значит не так?
ты так и не дал определение твоим терминам
админка для оператора
сам магазин

skyANA
И подход, когда в одном методе и работа с БД, и формирование HTML, и оповещение, мне совершенно не нравится.
это почему не нравится? тебе надо чтоб была прокладка в виде хибера?
как ты разделишь полученные данные из базы и формирование по ним страницу?
Вам шашечки или ехать?
31 авг 17, 12:48    [20761449]     Ответить | Цитировать Сообщить модератору
 Re: Обещанный пример по websocket  [new]
skyANA
Member

Откуда: Зеленоград
Сообщений: 26400
вадя
skyANA
В крупных системах всё не так. А мы же о крупной системе, верно?
приведи пример?
что значит не так?
amazon, ozon
вадя
ты так и не дал определение твоим терминам
админка для оператора
сам магазин
с точки зрения эксплуатации, или DevOps, это принято называть сервисами
а проще говоря - это два разных приложения (сайта), развёрнутые на разных серверах
31 авг 17, 12:54    [20761466]     Ответить | Цитировать Сообщить модератору
 Re: Обещанный пример по websocket  [new]
skyANA
Member

Откуда: Зеленоград
Сообщений: 26400
вадя
skyANA
И подход, когда в одном методе и работа с БД, и формирование HTML, и оповещение, мне совершенно не нравится.
как ты разделишь полученные данные из базы и формирование по ним страницу?
Как, как, для начала тупо по слоям
31 авг 17, 12:55    [20761473]     Ответить | Цитировать Сообщить модератору
 Re: Обещанный пример по websocket  [new]
hVostt
Member

Откуда:
Сообщений: 15267
вадя
ты бы не позорился , знаток всего. называть кусок из javascript кодом java...
ты даже не представляешь что такое websocket.


Я не называл этот кусок Java кодом, ты упоролся чтоле? Я про то как ты в Java работаешь с вебсокет:

public void onMessage(WebSocket webSocket, String data) 


Это же полнейшее ушлёпство. А про тот код, это как с этим ушлёпством работаешь. Два говнокода с обоих сторон.

вадя
ну а передать json не трешак?


Это структурированные типизированные данные. Их можно валидировать по типу модели и по схеме. А разбирать строку это какой-то прошлый век. Что интересно, вадя вещающий про новейшие технологии, и который работает с ними как в допотопном каменном веке. Это очень смешно, правда
31 авг 17, 13:00    [20761488]     Ответить | Цитировать Сообщить модератору
 Re: Обещанный пример по websocket  [new]
вадя
Member

Откуда: Екатеринбург
Сообщений: 15471
skyANA
с точки зрения эксплуатации, или DevOps, это принято называть сервисами
а проще говоря - это два разных приложения (сайта), развёрнутые на разных серверах
а смысл?
и ты уверен что именно так там устроено? скорее всего та на отдельном сервере база развёрнута.
skyANA
с точки зрения эксплуатации, или DevOps, это принято называть сервисами
а на кой ляд это сдалось? для увеличения кода?
skyANA
а проще говоря - это два разных приложения (сайта), развёрнутые на разных серверах
есть вариант вырывать зубы через жопу(если грубо) - еслиб я получал за количество строк- я б возможно и начал грордить...
смысл городить два сайта/сервера ? уменьтшение нагрузки? ws и так уменьшает.
кроме как дополнительный геморой - нет ничего.
даже у amazon, ozon количество операторов доли процента от их клиентов, а операторы для сайта - это теже клиенты, и выносит их страницы на доп сервер - это стрелять себе в ногу...
31 авг 17, 13:04    [20761501]     Ответить | Цитировать Сообщить модератору
 Re: Обещанный пример по websocket  [new]
вадя
Member

Откуда: Екатеринбург
Сообщений: 15471
автор
автор
public void onMessage(WebSocket webSocket, String data)

ну б...ь
ты на кого начал наезжать? на apache? на гугл?
ты ваще не в теме, я дал ссылку где есть эта либа, не ленись - посмотри код, не мтрой из себя полного идиота, ознакомься с темой прежде чем дурость писать. ведь совсем не понимаешь о чём речь . а туда же писать.

hVostt
Это структурированные типизированные данные. Их можно валидировать по типу модели и по схеме. А разбирать строку это какой-то прошлый век. Что интересно, вадя вещающий про новейшие технологии, и который работает с ними как в допотопном каменном веке. Это очень смешно, правда
упоротый бездарь молчи.
31 авг 17, 13:11    [20761519]     Ответить | Цитировать Сообщить модератору
 Re: Обещанный пример по websocket  [new]
skyANA
Member

Откуда: Зеленоград
Сообщений: 26400
вадя,

понятно всё с тобой, опыта построения высоконагруженных систем нет, однако мнение имеешь, причём весьма глупое
дальнейшая дискуссия бессмысленна
31 авг 17, 13:11    [20761520]     Ответить | Цитировать Сообщить модератору
 Re: Обещанный пример по websocket  [new]
hVostt
Member

Откуда:
Сообщений: 15267
вадя
а на кой ляд это сдалось? для увеличения кода?


Прослезился

вадя
есть вариант вырывать зубы через жопу(если грубо) - еслиб я получал за количество строк- я б возможно и начал грордить...


Знания уровня чукчи (тюленя-оленя), который рассуждает, на кой ляд сдалась математика, детектед


вадя
смысл городить два сайта/сервера ? уменьтшение нагрузки? ws и так уменьшает.


ЛОЛЛ ))) ЭЭээххх, выкидывайте свои серваки, и переходите на WS
31 авг 17, 13:11    [20761522]     Ответить | Цитировать Сообщить модератору
 Re: Обещанный пример по websocket  [new]
вадя
Member

Откуда: Екатеринбург
Сообщений: 15471
skyANA
понятно всё с тобой, опыта построения высоконагруженных систем нет, однако мнение имеешь, причём весьма глупое
дальнейшая дискуссия бессмысленна
ты не привел ни одного путёвого возражния , жду реальных аргументов.
31 авг 17, 13:13    [20761529]     Ответить | Цитировать Сообщить модератору
 Re: Обещанный пример по websocket  [new]
skyANA
Member

Откуда: Зеленоград
Сообщений: 26400
вадя
и ты уверен что именно так там устроено?

Уверен. Про Amazon я читал, а в Ozon коллега работал до недавнего времени.
31 авг 17, 13:13    [20761530]     Ответить | Цитировать Сообщить модератору
 Re: Обещанный пример по websocket  [new]
hVostt
Member

Откуда:
Сообщений: 15267
вадя
ну б...ь
ты на кого начал наезжать? на apache? на гугл?
ты ваще не в теме, я дал ссылку где есть эта либа, не ленись - посмотри код, не мтрой из себя полного идиота, ознакомься с темой прежде чем дурость писать. ведь совсем не понимаешь о чём речь . а туда же писать.


Я констатирую очевидный факт, ты даже технологию, которую активно пиаришь, не можешь правильно использовать, понятия не имеешь для чего она, и по сути копаешь микроскопом картошку.

В общем, очередное дно тупости тобой успешно пробито. Поздравляю!
31 авг 17, 13:14    [20761532]     Ответить | Цитировать Сообщить модератору
 Re: Обещанный пример по websocket  [new]
вадя
Member

Откуда: Екатеринбург
Сообщений: 15471
skyANA
вадя,

понятно всё с тобой, опыта построения высоконагруженных систем нет, однако мнение имеешь, причём весьма глупое
дальнейшая дискуссия бессмысленна
че мой код не устроит для высоко нагруженной системы?
тем что мало кода? тем что часть отдана на субд, которую можно вымести на отдельное железо?
31 авг 17, 13:15    [20761537]     Ответить | Цитировать Сообщить модератору
 Re: Обещанный пример по websocket  [new]
skyANA
Member

Откуда: Зеленоград
Сообщений: 26400
вадя
skyANA
понятно всё с тобой, опыта построения высоконагруженных систем нет, однако мнение имеешь, причём весьма глупое
дальнейшая дискуссия бессмысленна
ты не привел ни одного путёвого возражния , жду реальных аргументов.

Если ты не в курсе, что монолит - это давно моветон, значит ты в танке и дальнейшая дискуссия не имеет смысла.
Сиди в своём танке и думай себе, что хочешь.

А то, что твоё решение не подходит для настоящей нагруженной системы - это факт.
31 авг 17, 13:15    [20761538]     Ответить | Цитировать Сообщить модератору
 Re: Обещанный пример по websocket  [new]
вадя
Member

Откуда: Екатеринбург
Сообщений: 15471
hVostt
Я констатирую очевидный факт, ты даже технологию, которую активно пиаришь, не можешь правильно использовать, понятия не имеешь для чего она, и по сути копаешь микроскопом картошку.
это только подтверждают тво не знание ws.
31 авг 17, 13:16    [20761540]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2 3 4 5 6 7 8 9 10 .. 34   вперед  Ctrl
Все форумы / HTML, JavaScript, VBScript, CSS Ответить