Javascript-форум (https://javascript.ru/forum/)
-   Оффтопик (https://javascript.ru/forum/offtopic/)
-   -   синхронизация пользователей (вкладки, сессии...) (https://javascript.ru/forum/offtopic/56860-sinkhronizaciya-polzovatelejj-vkladki-sessii.html)

Deff 08.07.2015 22:42

Цитата:

Сообщение от kobezzza
Про синхронизацию событий между вкладками: это геморой

Я бы тут бы не сильно согласился, -
Нафига мне работа с сокет запросами на неактивных вкладках? А если их десяток на каждом пользователе, а пользователей тыщи ? Тот же чат, к примеру. Складывать на Storage и выводить только на активной вкладке(если функция чата активирована)

Gozar 08.07.2015 23:10

Цитата:

Сообщение от kobezzza
без нормальной абстракции ты рискуешь огрести граблями

Можно про грабли в localStorage? Сейчас использую свою прослойку сводящую запросы к подобию общения с моделью get, set, защита от названия ключа у неё встроена. Пихает json, достает json. Название ключа по сути название таблицы. Может в этом дело, медленно? Просто с indexDB 10% отвалится, пока я не очень к этому готов.

Это конечно средне удобно, но очень интересно о каких именно граблях ты говоришь?

Цитата:

Сообщение от kobezzza
Про синхронизацию событий между вкладками

Я попробую идею Deff, вроде дело говорит.
Цитата:

Сообщение от Deff
Складывать на Storage и выводить только на активной вкладке

Идея на реализацию не сложная, попробую запилить в течении недели.

kobezzza,
большое спасибо, что разжевал. Такую инфу днем с огнем по кусочкам в инете не сыщешь.

kobezzza 08.07.2015 23:22

Цитата:

Это конечно средне удобно, но очень интересно о каких именно граблях ты говоришь?
Если данных будет много, то для эффективной выборки понадобятся вторичные индексы, а имплементить их руками - геморой. Ограничение 5MB на домен. Синхронный интерфейс может вызывать локи браузера (при сохранении больших данных), отсутствие выгрузки по курсору (будет сжирать память). Огорчает отсутствие удобной абстракции JOIN.

Я не против LS, а против работы с абстракцией LS при разработке offline приложений, ибо это слишком АЗМ и очень не удобно. Лучше поискать либу, которая бы умела работать с разными системами хранилища и давала удобный интерфейс.

Deff 08.07.2015 23:52

Цитата:

Сообщение от kobezzza
Ограничение 5MB на домен.

Видел де то плагин добавления N-фреймов с кроссдоменной передачей по postMessage на LS фреймов с этих доменов.
Добавляет +N*5MB. Если страницы фреймов статичны(ток скрипт) - подключение по скорости неощутимо(де то 200-300ms при первом входе). Про сокеты, - есть опыт сервиса, где эти сокеты на каждой вкладке, вешает серьёзно и брауз и комп.

kobezzza 09.07.2015 00:03

Цитата:

Видел де то плагин добавления N-фреймов с кроссдоменной передачей по postMessage на LS доменов. Добавляет +N*5MB. Если страницы фреймов статичны(ток скрипт) - подключение по скорости неощутимо(де то 200-300ms при первом входе)
Зачем такой геморой, если проще взять IndexedDB?

Цитата:

Про сокеты, - есть опыт сервиса, где эти сокеты на каждой вкладке, вешает серьёзно и брауз и комп.
Именно сокеты или их обработчики? Если дело в обработчиках, то отличное решение - это легкие потоки (не путать с воркерами). http://www.youtube.com/watch?v=K2GAANmWTgQ

ЗЫ: кстати, так вышло, что я был вынужден на некоторое время перепрыгнуть на разработку новой версии $C и планирую зарелизиться на следующей недели, где будут новые ништяки для потоков, да и вообще.

Deff 09.07.2015 00:08

Цитата:

Сообщение от kobezzza
Именно сокеты или их обработчики?

- Да, тут глубоко не рыл, хотя знаю там сокет и обработка выводит лишь класс для единственного элемента и изменяет title.

kobezzza 09.07.2015 00:16

Цитата:

Сообщение от Deff (Сообщение 378314)
- Да, тут глубоко не рыл, хотя знаю там сокет и обработка выводит лишь класс для единственного элемента и изменяет title.

Ну просто мне даже не верится, что сокет может что-то повесить, а вот его обработчики - запросто :)

nerv_ 10.07.2015 09:09

Цитата:

Сообщение от cyber (Сообщение 378285)
Опиши подробнее плиз

не помню, давал ли эту ссылку http://peerjs.com/

cyber 10.07.2015 19:09

nerv_, спасибо)

l-liava-l 11.07.2015 10:34

Gozar, kobezzza, или заточить под это дело swarm.
Довольно крутая штука, юзаю ее в TeX редакторе для коллаборации.

Под капотом, конечно, тяжелая гвардия не для чата, но апи прозрачное и можно подумать


Часовой пояс GMT +3, время: 18:40.