有没有办法在没有服务器的情况下连接2个浏览器?也许用Websockets?

时间:2010-09-14 23:38:59

标签: html5 tcp websocket

我正在寻找一种方法将1个浏览器连接到另一个浏览器,而不必在网络延迟之间安装服务器。

它看起来不像HTML5 WebSockets会起作用,因为我找不到在Javascript中监听连接的方法,只建立连接。

有谁知道怎么做? (直接连接2个浏览器?直接连接2台计算机的IP)

3 个答案:

答案 0 :(得分:4)

有趣的是,JavaScript的变化很快,而且接受的答案(从2010年开始)说不可能: - )

2013年,有一种方法可以直接浏览浏览器:WebRTC。它是HTML5的一部分,正在积极开发中。例如,它已经可以在Chrome稳定版本和Firefox的夜间版本中使用。

WebRTC浏览器为:

提供JavaScript接口
  • MediaStreams:访问主机硬件:摄像头,麦克风,扬声器。
  • ICE for NAT遍历。
  • PeerConnection:用于音频/视频流的直接浏览器到浏览器通信。
  • DataChannel:直接浏览器与浏览器之间的自定义数据通信。

请参阅此blog post了解相关信息(有点过时,已经实施了很多内容),这个video提供了非常好的概述,W3C WebRTC JavaScript API以及相关的用于网络协议的RFC和Internet草案。

答案 1 :(得分:1)

不,这对JavaScript来说是不可行的。

您需要一个用可以访问操作系统网络API的语言编写的客户端。

答案 2 :(得分:1)

这不是一个完美的解决方案,但它是一种直接从客户端广播到频道上所有其他客户端的方式。注意:它使用Pusher,这是一种免费增值服务,我发现它非常可靠。如果他们想出办法,就必须有办法。他们的源代码也可以在GitHub上找到。

http://pusher.com/docs/client_events

从他们的网站:

  

使用Pusher时,并非所有流量都需要通过传统的网络服务器。一些不需要持久性的简单操作可以直接通过套接字连接到连接到通道的所有其他客户端。

希望有所帮助。