是否有可能在不使用服务器的情况下,在不同机器(但在同一WLAN上)的两个浏览器之间发送数据?



最终我想要的是构建一个在浏览器中运行的Javascript应用程序,并且能够与在同一网络内的其他机器上运行相同Javascript应用程序的其他用户进行通信。我一直在阅读和摆弄Websockets和webRTC,但它们都需要在连接过程的某个阶段的服务器。我也看过PeerJs和OpenPeer,但它们似乎也依赖于webbrtc,而webbrtc又需要一个中间服务器来设置连接。

如果用户没有连接到Internet(或运行本地服务器的网络),那么似乎不可能使用上述任何一种技术,对吗?

基本上我想的是:

  1. 用户A和用户B在同一LAN/WLAN上的两台不同的机器上,没有连接到Internet。
  2. 用户A在浏览器中打开应用/页面。
  3. 用户B在浏览器中打开应用/页面。
  4. 用户A在文本框中输入用户B的本地IP地址,点击"连接"。
  5. 用户A和用户B可以互相发送消息

今天可能吗?或者在不久的将来会有什么东西能够实现这一点?

这是不可能在浏览器中直接完成的。

标准HTTP交互基于请求-响应模型。Web浏览器充当客户机,发送请求。它们不是设计为能够处理HTTP请求并相应地发送响应,该作业属于服务器。

我知道这是一个古老的问题,但如果有人发现它相关:

今天,这是可能的使用WebRTC, javascript,点对点,实时通信协议。

在撰写本文时,一个可用的库是PeerJS,它目前支持大多数浏览器,除了Safari。

PeerJS处理一些与NAT和防火墙相关的复杂的幕后工作,这样你就可以在两个JavaScript客户端之间发送数据。

相关内容

  • 没有找到相关文章