HTML5 + JS足以实现局域网通信



我一直在头脑风暴一个web应用的想法,一个类似于Turntable的东西。fm,但对于局域网来说,这样同一网络上的所有计算机就不会同时下载一首歌(消耗带宽),而是将音乐流式传输。基本功能是让"主"PC(带扬声器的PC)播放本地歌曲或通过局域网接收歌曲并播放它们。

我的问题是,如果有一个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只
  • 不依赖于互联网,除了web应用程序的初始加载
  • 可以检测局域网用户,建立局域网连接

请阅读此博客和W3C发布的另一篇文章,标题为Web实时通信

该功能仍在W3C的流程中,该功能的候选版本将于2012年第四季度发布。所以它不会很快可用。

目前,我的建议是

  1. 使用HTML5的离线功能作为替代方案让它离线工作

  2. 使用Adobe Cirrus Beta。它可以嵌入到你的HTML中,它支持P2P会话和P2P内容交付。

      传统

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

    • 卷1

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

    • 卷云2

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

首先,如果网络连接丢失,几乎每个浏览器都会给出一个错误。HTML5可以解决这个问题。

但是你只能使用客户端站点js,这将不允许做你想做的事情。为什么不做一个普通的桌面应用程序呢?我和一些朋友正在制作一个基于cli的应用程序,将音乐发送到中央服务器,该服务器有扬声器并将播放音乐。我们的github: https://github.com/Infogroep/mpgc

有很多其他的应用程序做同样的事情:查看XBMC

供参考:你也可以创建一个不依赖中央服务器的临时网络。但这仍然是正在研究的东西(即http://soft.vub.ac.be/amop/)

w3c有一篇关于HTML5家庭网络实现的有趣论文http://www.w3.org/2011/09/webtv/papers/W3C_HNTF_Position_Paper_Sept_2011.pdf

并查看html5 websocket APIhttp://dev.w3.org/html5/websockets/

相关内容

  • 没有找到相关文章

最新更新