Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 20.04.2015, 00:54
Аватар для Котзилла
Новичок на форуме
Отправить личное сообщение для Котзилла Посмотреть профиль Найти все сообщения от Котзилла
 
Регистрация: 19.04.2015
Сообщений: 4

Socket.IO, общий транспорт для нескольких вкладок
Доброго времени суток, уважаемые форумчане!

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

Загвоздка сейчас заключается в грамотной организации realtime-транспорта между клиентом и сервером. Проштудировав интернет, выбор пал на socket.io, как на максимально кроссбраузерную и активно развивающуюся библиотеку.

Но суть вопроса не в выборе технологии.
По задумке предполагается, что посетитель ресурса может держать открытыми несколько различных вкладок проекта. И кроме этого, каждая из вкладок может располагаться на своем субдомене. Например: id1.example.com, id2.example.com, и так далее. Поскольку вкладок может быть весьма много (например, десяток), и каждой из них необходимо realtime-взаимодействие с сервером, возникли следующие вопросы:

1) Не возникнет ли каких-либо конфликтов при десятке открытых соединений к одному и тому же ресурсу? Краем уха где-то слышал, что у браузеров имеются ограничения по количеству одновременных коннектов к одному и тому же хосту. Был бы благодарен за любое чтиво по теме, хотелось бы подробнее узнать об этих ограничениях. Так же интересует любая информация о кроссдоменных политиках браузера. Хотелось бы знать, например, как определяется, с какого домена отправлен запрос (по хосту, с которого подключена транспортная библиотека, или по хосту страницы, в теле которой произошел вызов библиотеки).

2) Вопрос исходит из предыдущего. Возможно ли каким-то образом "расшарить" одно соединение socket.io на все эти вкладки? Это бы и решило проблему ограничений, и немного разгрузило бы сервер, и дало бы возможность реализовать дополнительные фичи. Где-то читал, что есть подобные решения, но немного погуглив, нашел лишь несколько беглых упоминаний о фоновых воркерах, без конкретных примеров и библиотек.

Так же буду рад любым техническим советам по реализации такой штуки

Прошу прощения за длиннопост.
Заранее огромное спасибо за ответы!
Ответить с цитированием
  #2 (permalink)  
Старый 20.04.2015, 01:41
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Котзилла,
1. Может плагином кроссдоменность ? http://javascript.ru/unsorted/google-gears
2. Можно использовать для всех запросов iframе на единственном домене,
который через Post message общается с текущей страницей
3. Если данные короткие(до 100кб), можно попробовать использовать флеш-куки
Ответить с цитированием
  #3 (permalink)  
Старый 20.04.2015, 02:26
Аватар для Safort
Профессор
Отправить личное сообщение для Safort Посмотреть профиль Найти все сообщения от Safort
 
Регистрация: 23.12.2013
Сообщений: 1,856

Котзилла,
Цитата:
2) Вопрос исходит из предыдущего. Возможно ли каким-то образом "расшарить" одно соединение socket.io на все эти вкладки?
Да, можно. Когда открывается вкладка, нужно проверить(с помощью флага выставленного в localStorage, например) нет ли уже созданных вкладок, если нет - ставишь соответствующий флаг создаёшь соединение с сервером. А для того, чтобы распространять пришедшие данные во все вкладки у localStorage есть специальное событие, так что проблем быть не должно)


И вот ещё https://developer.mozilla.org/en-US/...I/SharedWorker
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
JQuery, анимация для нескольких элементов сразу, возможно ли? Logo jQuery 21 29.05.2012 21:50
getElementsByTagName для нескольких тэгов MaxB Events/DOM/Window 11 07.12.2011 23:29
Новая система управления сайтом Scripto CMS deepslam Ваши сайты и скрипты 38 31.01.2011 14:55
Функция disable для нескольких checkbox allforweb Элементы интерфейса 4 19.12.2010 17:51
zoom для нескольких фото kodermax jQuery 1 20.02.2009 15:46