没有服务器的浏览器到浏览器通信?

时间:2010-07-19 18:05:23

标签: browser p2p

是否有任何可能的方法让浏览器在不使用服务器(直接点对点)的情况下通过lan / wan相互通信?

8 个答案:

答案 0 :(得分:5)

看起来可能会有希望:http://www.w3.org/TR/webrtc/

答案 1 :(得分:1)

IIRC,Opera在他们的浏览器中发布了一些内容,这些浏览器嵌入了一个仅用于该功能的网络服务器:

http://unite.opera.com/

不确定它到底有没有,但我认为现在是时候了。

答案 2 :(得分:1)

在纯HTML / Javascript中?可能不是。

据我所知,本机JavaScript没有好方法来监听连接。在HTTP中,客户端打开端口,发送请求并接收响应。你可以使用XHTTP或类似的类来发出请求,但是在普通网页中没有好办法在另一端创建一个可以监听请求的服务器。

鉴于此,我知道Flash提供了一个允许您监听连接的套接字库。 (我想Silverlight也会这样做,虽然我还没有研究它。)如果你要使用这些技术之一创建一个对象,你可以监听来自任何客户端的连接请求(假设你不在防火墙后面)或者其他一些连接过滤设备),保持一个打开的插座并通过电线发送任何你想要的东西。

要点:

  1. 可能无法在JavaScript / HTML / CSS中执行此操作。

  2. 但是,您可以在Flash或Silverlight中将其关闭。

答案 3 :(得分:1)

如果浏览器位于防火墙后面,您可以查看使用NAT遍历。 WebRTC使用STUN和TURN等协议来执行此操作。 这个网站有一些很好的例子/教程HTML5 Rocks

答案 4 :(得分:1)

是的,您可以使用AJAX调用尝试http://httprelay.io。它很简单:

* Send data: POST https://httprelay.io/link/your_secret_channel_id
* Receive data GET https://httprelay.io/link/your_secret_channel_id

答案 5 :(得分:0)

简短回答:不。不可能。

答案很长:您可以编写一个签名的Java小程序,在每个浏览器中实现Web服务器。然后浏览器“a”可以与浏览器“b”的小程序通话(不要'关闭该标签!)。然后,您将以这种方式限制访问其他浏览器状态。

同样,你可以写一个插件/插件,可以完成同样的事情。

真正的问题是你为什么要这样做?你想达到什么目的?回答这个问题,我们也许能够找到解决方案。

答案 6 :(得分:0)

是的,他们可以,但他们需要设计来建立连接(或者需要有一个模块来实现它)。

即使我想知道他们为什么需要......

答案 7 :(得分:0)

Flash - Stratus。最新闪存中提供P2P连接的新东西。