2011-12-21 3 views
6

Я занимался мозговым штурмом идеи webapp, что-то вроде Turntable.fm, но для LAN, таким образом, все компьютеры в ОДНОЙ сети не все одновременно загружают песню (убивая полосу пропускания), а скорее транслируют музыку вокруг. Основная функциональность была бы для «основного» ПК (одного с динамиками) для воспроизведения местной песни или приема песен по локальной сети, а затем для воспроизведения.HTML5 + JS достаточно для связи по ЛВС?

Мой вопрос в том, есть ли способ, чтобы страница HTML5 (размещенная в Интернете) использовала JS для обнаружения пользователей локальной сети и общения друг с другом напрямую, без необходимости какого-либо центрального сервера? Пример случая, чтобы понять:

Office LAN has 2 users, Bob and Bill 
Bob enters lanmusic.com 
Bill enters lanmusic.com 
Internet dies, LAN is fine. 
Bob can still detect via the page that local user Bill is on the page too 
Bill sends a song to Bob through the page directly 
Bob plays song with page's javascript music player 

Так ключевые моменты:

  • Javascript/HTML5 только
  • Не зависит от Интернета для начальной загрузки веб-приложения, за исключением
  • Можно обнаружить LAN пользователи, делают подключения к локальной сети

ответ

2

Пожалуйста, прочитайте это blog и другая статья, опубликованная W3C с заголовком Web Real-Time Communications

Эта функциональность по-прежнему находится в процессе W3C и кандидата Релиз для этой функции будет отсутствовать в четвертом квартале 2012 года. Поэтому он скоро не будет доступен.

В настоящее время, в качестве альтернативы моего предложения является

  1. с использованием автономных возможностей HTML5 в качестве альтернативы, которая , описанной в данной презентации Google Make it work offline.

  2. используя Adobe Cirrus Beta. Он может быть встроен в ваш HTML, и он поддерживает обмен P2P и доставку контента P2P.

    • Традиционный

    Cirrus1 http://labs.adobe.com/technologies/stratus/images/evolution1.jpg

    • Cirrus 1

    Cirrus1 http://labs.adobe.com/technologies/stratus/images/evolution2.jpg

    • Циррус 2

    Cirrus2 http://labs.adobe.com/technologies/stratus/images/evolution3.jpg

+0

Ссылка на «Сделать работу в автономном режиме» не работает. – satur9nine

1

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

Но тогда вы можете использовать только клиентский сайт js, который не позволит делать то, что вы хотите сделать. Почему вы не делаете обычное настольное приложение? Я, некоторые друзья, создаю приложение на основе CLI для воспроизведения музыки на центральном сервере, этот сервер имеет динамики и будет воспроизводить музыку. Наш GitHub: https://github.com/Infogroep/mpgc

Есть много других АФС, которые там делать то же самое: проверить XBMC

FYI: то, что вы могли бы сделать, а это создать специальную сеть, которая не делает полагаться на центральном сервере. Но это еще что-то, что неоспоримым исследовал (т.е. http://soft.vub.ac.be/amop/)

w3c имеет интересную статью о реализации Home Networking для HTML5 http://www.w3.org/2011/09/webtv/papers/W3C_HNTF_Position_Paper_Sept_2011.pdf

и проверить на html5 WebSocket API http://dev.w3.org/html5/websockets/

+0

Часть из них предназначена для изучения опыта. Как веб-дизайнер (HTML/CSS), который постепенно становится все более и более изучать JS, я думал, что это будет интересный проект для решения. Кроме того, я лучше знаком с использованием вышеперечисленных языков для создания страницы, чем для создания пользовательских интерфейсов на других языках (хотя я и искал). Кроме того, поскольку офис имеет межплатформенную платформу Mac/PC, также важно, и веб-приложение выглядело идеально подходящим (и никаких дополнительных установок не требуется). Кажется, что этот план не сработает. – Brian

+0

Если я правильно помню, qt4 поддерживает webkit, а это значит, что вы можете использовать свои навыки html/css для создания потрясающих настольных приложений. И qt4 поддерживает кросс-платформу для linux/mac/pc. –

+0

Это именно то, что я загрузил в качестве своего плана резервного копирования! xD CSS должен помочь в создании стилей, QML - альтернатива Javascript для кодирования на C++, и да, это полностью кросс-платформенный. Похоже, мне придется разветвляться с этим опытом обучения ... – Brian