powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / JavaScript, быстрое сетевое взаимодействие.
32 сообщений из 32, показаны все 2 страниц
JavaScript, быстрое сетевое взаимодействие.
    #38487609
phasenoisepskcodedcompression
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Comet не предлагать, ибо это либа, а хочется разобраться в основах. WebSockets тоже не предлагать, ибо Opera и FireFox решили его выпилить (может уже обратно запилили) по причине какой-то там небезопасности (неважно почему, главное что сволочи выпиливают). Raw Sockets только в chrome экспериментальные есть.

Хочется непрерывным потоком получать события с сервера, частота событий - 20 в секунду, например, небольшие 128-байтные json-куски, например.

XMLHttpRequest как для этого использовать не понимаю. Если послать им запрос, то он установит коннект и отправит HTTP-запрос, по факту ответа на который дёрнет твой асинхронный метод. Всё. Если от сервера прилетит что-то ещё, то это будет послано в топку скорее всего: ответ на запрос-то уже пришёл. А если в ответ слать не валидные HTTP, а какие-то json-куски, то javascript не поймёт юмора.

Чё делать-то?
...
Рейтинг: 0 / 0
JavaScript, быстрое сетевое взаимодействие.
    #38487633
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
phasenoisepskcodedcompressionЧё делать-то?
Кроме ажакса и сокетов пока ничего нет...
...
Рейтинг: 0 / 0
JavaScript, быстрое сетевое взаимодействие.
    #38487641
phasenoisepskcodedcompression
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsaphasenoisepskcodedcompressionЧё делать-то?
Кроме ажакса и сокетов пока ничего нет...
А Comet как реализован? Там же мой вопрос реализован вроде.
...
Рейтинг: 0 / 0
JavaScript, быстрое сетевое взаимодействие.
    #38487654
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Аякс != XMLHttpRequest.
Аякс бывает разный... .
...
Рейтинг: 0 / 0
JavaScript, быстрое сетевое взаимодействие.
    #38487655
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
phasenoisepskcodedcompressionА Comet как реализован? Там же мой вопрос реализован вроде.
Если твой серверный язык позволяет его использовать - используй!
http://javascript.ru/AJAX/comet
...
Рейтинг: 0 / 0
JavaScript, быстрое сетевое взаимодействие.
    #38487660
Фотография Яростный Меч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
phasenoisepskcodedcompressionWebSockets тоже не предлагать, ибо Opera и FireFox решили его выпилитьу тебя сильно устаревшие данные.
...
Рейтинг: 0 / 0
JavaScript, быстрое сетевое взаимодействие.
    #38487682
phasenoisepskcodedcompression
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsaphasenoisepskcodedcompressionА Comet как реализован? Там же мой вопрос реализован вроде.
Если твой серверный язык позволяет его использовать - используй!
http://javascript.ru/AJAX/comet
Я ж просил его не советовать.
...
Рейтинг: 0 / 0
JavaScript, быстрое сетевое взаимодействие.
    #38487684
phasenoisepskcodedcompression
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Яростный МечphasenoisepskcodedcompressionWebSockets тоже не предлагать, ибо Opera и FireFox решили его выпилитьу тебя сильно устаревшие данные.
Тут написано http://ru.wikipedia.org/wiki/WebSocket (паследний обзадс стотьи). Уже зопелиле абрадно?
...
Рейтинг: 0 / 0
JavaScript, быстрое сетевое взаимодействие.
    #38487702
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
phasenoisepskcodedcompressionЯ ж просил его не советовать.
Не используй...
...
Рейтинг: 0 / 0
JavaScript, быстрое сетевое взаимодействие.
    #38487712
Фотография Яростный Меч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
phasenoisepskcodedcompressionЯростный Мечпропущено...
у тебя сильно устаревшие данные.
Тут написано http://ru.wikipedia.org/wiki/WebSocket (паследний обзадс стотьи). Уже зопелиле абрадно?дык нифига себе, 2010 год :)

http://html5test.com/compare/feature/communication-websocket.basic/communication-websocket.binary.html - тут вся правда тм
...
Рейтинг: 0 / 0
JavaScript, быстрое сетевое взаимодействие.
    #38488011
ни на что не претендуя ;)
http://www.rabbitmq.com/download.html - здесь качаешь MQ сервер
https://www.rabbitmq.com/stomp.html - устанавливаешь с поддержкой stomp
http://jmesnil.net/stomp-websocket/doc/ - здесь забираешь stomp.min.js
https://github.com/sockjs/sockjs-client - тут SockJS-client
настраиваешь Rabbit и на странице примерно! так
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
<script src="http://cdn.sockjs.org/sockjs-0.3.min.js"></script>
    <script src="/scripts/stomp.min.js"></script>
    <script>
        window.onload = function() {
                
            var url     = 'http://127.0.0.1:15674/stomp',
                queue   = '/topic/TEST',
                stomp   = false,
                subs    = false;

            var onConnect = function() {                    
                    subs = stomp.subscribe(queue, onMessage, {});
                    console.log('You are connected!');                    
                },
                onError = function() {
                    console.log('You have an error!');
                },
                onDisconnect = function() {
                    if(subs) {subs.unsubscribe();}                    
                    console.log('See you next time!');
                },
                onMessage = function(msg) {    
                    if(msg.body) {
                        console.log('Got message with body: ' + msg.body)
                    } else {
                        console.log('Got empty message');
                    }
                };

            var btnConnect      = document.getElementById('connect'),
                btnDisconnect   = document.getElementById('disconnect'),
                btnSend         = document.getElementById('send');;
           
            btnConnect.onclick = function() {
                stomp = Stomp.over(new SockJS(url));
                //stomp.debug = false;                
                stomp.connect('guest', 'guest', onConnect, onError, '/');                
            };
            
            btnDisconnect.onclick = function() {
                if(stomp) {stomp.disconnect(onDisconnect);}
            };
            
            btnSend.onclick = function() {
                var msg = encodeURIComponent('Привет');
                if(stomp) {stomp.send(queue, {}, msg);}
            };
            
        };
    </script>


ну и почитать, в зависимости от твоего серверного яп, о его взаимодействии со STOMP!
...
Рейтинг: 0 / 0
JavaScript, быстрое сетевое взаимодействие.
    #38488146
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
phasenoisepskcodedcompressionЯростный Мечпропущено...
у тебя сильно устаревшие данные.
Тут написано http://ru.wikipedia.org/wiki/WebSocket (паследний обзадс стотьи). Уже зопелиле абрадно?

даже IE10+ его использует

если откажешься от WebSocket сильно отстанешь....
tomcat предлагает демки с его использованием

я использую и не жалуюсь
...
Рейтинг: 0 / 0
JavaScript, быстрое сетевое взаимодействие.
    #38488147
Фотография asws
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
phasenoisepskcodedcompression,

Что-то здесь не так с постановкой задачи.
Странное требование - обработка в реальном времени - 20 раз в секунду браузером , да ещё через сеть :))
Ключевую проблему выделил жирным :))

Раз сервер собирается сам отправлять запрос браузеру, значит получатель уже известен,
значит для этого получателя можно результаты событий накапливать в серверный буфер (в файл/БД/и т.д.).

С клиента запрашивать периодически в нужное/удобное для браузера время сразу все 20/100/1000/... результатов.

Вопрос на здравый смысл - зачем гонять сеть 20 раз в секунду, если можно, например, это делать раз в 20 секунд?
...
Рейтинг: 0 / 0
JavaScript, быстрое сетевое взаимодействие.
    #38488219
авторС клиента запрашивать периодически в нужное/удобное для браузера время сразу все 20/100/1000/... результатов.
хм... ну какой смысл мне пытаться оформить билет в кинотеатр, если через двадцать секунд я узнаю, что эти билеты уже кто-то оформляет (или их ВСЕ уже выкупили)?
...
Рейтинг: 0 / 0
JavaScript, быстрое сетевое взаимодействие.
    #38488224
Фотография asws
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как-то так...авторС клиента запрашивать периодически в нужное/удобное для браузера время сразу все 20/100/1000/... результатов.
хм... ну какой смысл мне пытаться оформить билет в кинотеатр, если через двадцать секунд я узнаю, что эти билеты уже кто-то оформляет (или их ВСЕ уже выкупили)?делать из браузера аналог биржевого бота - это кретинизм.
...
Рейтинг: 0 / 0
JavaScript, быстрое сетевое взаимодействие.
    #38488267
Почему бы и нет, если технология позволяет!?
...
Рейтинг: 0 / 0
JavaScript, быстрое сетевое взаимодействие.
    #38488269
Фотография asws
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как-то так...Почему бы и нет, если технология позволяет!?
это да, я уже поздно узнал из другого топика, что это нужно для опроса сервера танчиков...

по сабжу, у них должно быть api,
а если предполагаемые действия не укладываются в разрешённые, то, имхо, не взлетит,
потому что, чтобы заставить браузер исполнить поизвольный чужой код,
нужно контролировать сервер или быть ацким спецом...
...
Рейтинг: 0 / 0
JavaScript, быстрое сетевое взаимодействие.
    #38488272
Фотография asws
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ага, ещё из одного топика Павла узнал, что и сервер свой, то-есть разрабатывает игру сам.
Полезное дело для саморазвития, но такая задача всё-таки не для браузера, это однозначно.
...
Рейтинг: 0 / 0
JavaScript, быстрое сетевое взаимодействие.
    #38488296
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторС клиента запрашивать периодически в нужное/удобное для браузера время сразу все 20/100/1000/... результатов.

Вопрос на здравый смысл - зачем гонять сеть 20 раз в секунду, если можно, например, это делать раз в 20 секунд?


зачем по сети гонять запросы, если можно отправить с сервера информацию сразу после изменения её на сервере?
если отказаться от json и прочим xml в пользу split (конечно это возможно не всегда) то кпд канала возрастает, websocket очень экономит трафик.
...
Рейтинг: 0 / 0
JavaScript, быстрое сетевое взаимодействие.
    #38488317
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как-то так...оформить билет в кинотеатр
Для таких целей нужно использовать вебсокет?
...
Рейтинг: 0 / 0
JavaScript, быстрое сетевое взаимодействие.
    #38488319
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как-то так...Почему бы и нет, если технология позволяет!?
no comment...
...
Рейтинг: 0 / 0
JavaScript, быстрое сетевое взаимодействие.
    #38488331
авторДля таких целей нужно использовать вебсокет?
15235080 - серьёзно?
...
Рейтинг: 0 / 0
JavaScript, быстрое сетевое взаимодействие.
    #38488354
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как-то так... , оформить билеты в кинотеатр можно простым запросом на сервер...
...
Рейтинг: 0 / 0
JavaScript, быстрое сетевое взаимодействие.
    #38488363
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsaкак-то так...оформить билет в кинотеатр
Для таких целей нужно использовать вебсокет?

а почему нет?

можно видеть в реальном времени заполнение/занятие мест в зале.
намного проще чем с прочими технологиями.
...
Рейтинг: 0 / 0
JavaScript, быстрое сетевое взаимодействие.
    #38488378
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяа почему нет?
Даже не знаю, что и ответить...

вадяможно видеть в реальном времени заполнение/занятие мест в зале.
Это ооочень важно для меня, как клиента.
...
Рейтинг: 0 / 0
JavaScript, быстрое сетевое взаимодействие.
    #38488393
авторЭто ооочень важно для меня, как клиента.
во первых топ совершенно не об этом!
во вторых - ты выбрал билеты на места и я выбрал билеты на эти же места = узнали мы об этом только после того как перегрузили страницу... кому-то из нас придётся выбирать билеты по новой!
+ не нравится этот пример - возьми другой - более для тебя понятный !
Возможность использования веб-сокетов это не отменит! ;)
...
Рейтинг: 0 / 0
JavaScript, быстрое сетевое взаимодействие.
    #38488439
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как-то так... , делай как тебе больше нравится...
...
Рейтинг: 0 / 0
JavaScript, быстрое сетевое взаимодействие.
    #38488453
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
использовать ws можно и на андроиде, что позволяет унифицировать сервер
очень удобно для наблюдения за какими-нибудь процессами в динамике, нет долбежа сервера запросами, экономика трафика
...
Рейтинг: 0 / 0
JavaScript, быстрое сетевое взаимодействие.
    #38488633
Фотография asws
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если не ошибаюсь, основная цель сокетов - сделать инициатором обмена данными сервер, удерживая канал связи открытым.
Можно и 100 раз в секунду дёргать клиента, если канал связи позволяет.

В этой теме предлагается использовать браузер по следующей схеме:
- 20 раз в секунду принять/передать информацию;
- 20 раз в секунду выполнить ряд действий, связанных с рендерингом изображения.

Конечно, рост мощностей обеспечит через несколько лет комфортную скорость работы браузеров даже на мобильных устройствах.
Но это-же неправильно, нельзя допустить простаивания ресурсов компьютера, надо их грузить по полной, стимулируя покупку новых устройств :))
...
Рейтинг: 0 / 0
JavaScript, быстрое сетевое взаимодействие.
    #38488794
IDVsbruck
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
phasenoisepskcodedcompressionComet не предлагать, ибо это либа, а хочется разобраться в основах. ...
Да, такая же "либа", как AJAX ... это принцип, концепция - все что угодно, но не "либа". Просто есть либы, заточенные для его реализации - Atmosphere, CometD, SignalR и т.д. С небольшой оговоркой к комету относят и вебсокеты - для веб-клиента.
И разобраться с ним достаточно просто.
Более того, если взять long-polling, то это действительно достаточно простая технология - отправляем запрос, который удерживается на сервере либо до таймаута, либо до отправки ответа. При получении ответа снова отправляем запрос.
Но можно построить комет на асинхранных запросах - все современные сервера это поддерживают.
...
Рейтинг: 0 / 0
JavaScript, быстрое сетевое взаимодействие.
    #38488805
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aswsнельзя допустить простаивания ресурсов компьютера, надо их грузить по полной, стимулируя покупку новых устройств :))
Отож!
Чем мы хуже мировых гигантоа ПО-строения!
...
Рейтинг: 0 / 0
JavaScript, быстрое сетевое взаимодействие.
    #38489417
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторМожно и 100 раз в секунду дёргать клиента, если канал связи позволяет.
вопрос не в дерганье клиента, а в дерганье сервера, если клиентов куча и они дергают сервер только для того , чтоб принять не измененные данные. если данные изменяются не часто, а клиентов куча - сервер пыхтит впустую.

если использовать аплеты - то можно и клиентов загрузить через ws работой - очень просто, по сравнению с другими технологиями
...
Рейтинг: 0 / 0
32 сообщений из 32, показаны все 2 страниц
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / JavaScript, быстрое сетевое взаимодействие.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]