Показать сообщение отдельно
  #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 на все эти вкладки? Это бы и решило проблему ограничений, и немного разгрузило бы сервер, и дало бы возможность реализовать дополнительные фичи. Где-то читал, что есть подобные решения, но немного погуглив, нашел лишь несколько беглых упоминаний о фоновых воркерах, без конкретных примеров и библиотек.

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

Прошу прощения за длиннопост.
Заранее огромное спасибо за ответы!
Ответить с цитированием