有没有办法从浏览器中运行服务器或点对点网络?

17

这个标题基本上已经说明了一切。我知道传统方法无法实现这个。我不知道是否有使用Web Sockets的方法可以实现它,尽管我从未用它们构建过更多的应用程序。

如果解决方案是特定于浏览器的(即在客户端上进行点对点通信也很棒),那么也可以接受。例如,是否有任何方式可以使用Chrome的NaCl来完成这项任务?

此外,如果现在还不可能实现这一点,那么是否有关于将来如何实现的详细规范?例如,基于Chromium的浏览器正在尝试使用“P2P Javascript API”,目前似乎完全没有文档记录。

这里是HTML5规范: http://www.whatwg.org/specs/web-apps/current-work/multipage/video-conferencing-and-peer-to-peer-communication.html#peer-to-peer-connections,尽管它的状态不太清楚。

如果这个问题有些杂乱无章,那我很抱歉;我主要是想了解所有可用于点对点通信的浏览器内API的当前状态。

编辑:我不感兴趣的是Flash点对点通信。我知道它可以实现,并且绝对是当前p2p问题的一个解决方案,但我对新技术很感兴趣。

更新于2012年5月:对于仍在关注此问题的人,peerconnection API正逐渐进入浏览器。它现在正在Chrome中进行实验,以及WebRTC API的其余部分。您可以在这里查看文档和规范:http://www.webrtc.org/


1
当然。Fork Chromium,将node.js hack进去。将node.js作为API暴露出来。虽然你可能想看看WebRTC来进行点对点视频会议。 - Raynos
1
那样做是可行的,但我有点担心沙盒和安全性问题,特别是在Node中,它的标准库不够一致,让我感觉无法放心将其沙盒化。如果我要分叉Chromium,我可能会采用他们的NaCl C端口,并为网络编写一个系统调用,然后用C编写一个迷你服务器。 - Alex Churchill
@alex_c 但是这些东西还没有准备好供普通消费者使用。Chromium可能有一些未记录的公共API可供alpha测试使用。 - Raynos
@Raynos同意了;我猜我们还需要几年时间才能看到第一个公共消费的真正p2p网络应用程序出现(请查看RTC工作组的结束日期:http://www.w3.org/2011/04/webrtc-charter.html)。实际上,从Chromium源代码(`p2p_notifier.cc/h`)来看,它们的p2p api实际上是代理,所以我们可能只需要等待PeerConnection API要么移动到准备实施状态,要么被放弃。 - Alex Churchill
1个回答

2

+1 是的!我知道我忘记了一些 Opera 的功能。 - Alex Churchill

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接