Networking 作为Web服务器的Web浏览器

Networking 作为Web服务器的Web浏览器,networking,browser,synchronization,connection,Networking,Browser,Synchronization,Connection,很抱歉,如果这是一个已经被问过的愚蠢的问题,但我甚至不知道最好搜索哪个术语 我遇到过这样一种情况,云应用程序会将SPA(单页应用程序)交付给客户端web浏览器。多个客户端将同时连接,并在同一网络中工作。一个例子是一个企业用来协同工作的应用程序——都在同一个物理空间内(都在同一个网络上) 令人担忧的是,互联网连接可能不稳定。我知道我可以在本地存储客户端更改,然后在连接恢复后将它们全部推送到服务器。然而,问题是一些客户端(显示系统)需要显示来自其他客户端(移动输入系统)的最新数据。如果互联网瘫痪一两

很抱歉,如果这是一个已经被问过的愚蠢的问题,但我甚至不知道最好搜索哪个术语

我遇到过这样一种情况,云应用程序会将SPA(单页应用程序)交付给客户端web浏览器。多个客户端将同时连接,并在同一网络中工作。一个例子是一个企业用来协同工作的应用程序——都在同一个物理空间内(都在同一个网络上)

令人担忧的是,互联网连接可能不稳定。我知道我可以在本地存储客户端更改,然后在连接恢复后将它们全部推送到服务器。然而,问题是一些客户端(显示系统)需要显示来自其他客户端(移动输入系统)的最新数据。如果互联网瘫痪一两分钟,那是不可接受的

我目前的想法是,本地网络需要某种“ThinServer”,所有客户端都可以连接到它。然后,该ThinServer将作为主云服务器的代理。如果互联网中断,ThinServer将接管同步数据的工作。因为所有的客户端都是完整的SPA,所以移动的唯一对象就是数据——因此ThinServer实际上只需要同步DB信息(它可能不需要托管完整的SPA——不过,这不是一件坏事)

然而,对于大多数公司来说,设置一台完全专用的服务器显然是一大障碍

所以问题是,有没有什么技术可以让网页充当web服务器?是否可以指示企业在其任何一台机器上的浏览器中转到thinserver.coolapp.com?这个“网页”会说,“这个网络中的所有客户端都应该连接到192.168.1.74:2000”(这将是运行这个页面的机器的IP:端口)。然后,所有的客户端都将连接到这个新的“服务器”,如果互联网中断,该服务器将充当数据协调器

换句话说,我真的不喜欢复杂的服务器设置。只需一个简单的URL即可启动该服务

我想唯一的选择可能是需要安装的二进制程序?这不是一个理想的解决方案,但也许是唯一的一个?如果是这样,他们的程序中是否有单击web服务器?我试过MAMP、LAMP等,但它们都是为开发者设计的。还有其他更精简的吗


谢谢你的建议

有两种基本方法可以实现这一点。第一种是按照您的建议在浏览器中托管服务器。一些示例项目:

另一种方法是使用WebRTC点对点通信,允许浏览器彼此共享信息(您可以让它们共享日期,或者让其中一个充当“主控者”等,而不是您想要的架构)。表面上看起来可能不会有什么不同,但根据您的需要,您的应用程序设计可能更适合于更“对等”的模式或更“客户机-服务器”的模式。“对等”项目示例:

我个人没有使用过以上任何一种,但我想说的是,从过去使用类似的浏览器扩展机制来看,您需要检查浏览器需求,然后再决定它们是否可以满足您的要求。上面的第一个是基于Chrome的(我相信),第二个是Firefox。peer-to-peer one包含一系列兼容的浏览器功能,但实际上也是基于Firefox和Chrome的(参见链接中的表格)。如果您所处的环境中,您可以指定浏览器类型和插件等,那么这对您来说可能没问题

这个概念肯定非常有趣(点对点web服务器),如果您有时间来探索它,那就太棒了。但是,如果您有直接的业务需求,则可能是基于站点服务器的简单方法实际上可能更可靠,支持更广泛的浏览器种类,并且更易于维护(因为所需的技能非常普遍)

顺便说一句,在回答你问题的第一行时,我应该说,“WebRTC”可能是一个很好的搜索词。

v.s.WebRTC 赞成的意见:
  • 简单易用
  • 快速
  • 所有浏览器和HTTP客户端都支持
  • 可用于不稳定的网络
  • 开源和跨平台
欺骗:
  • 需要运行服务器实例吗
  • 不支持数据流(尚未)

谢谢!这是比我意识到的更好的信息。我听说过RTC,但认为现在只是视频阅读,而且听上去点对点数据对它也很有用。但是,现在安装服务器可能更容易,这一点您是对的。我会继续研究的。非常感谢您的投入!祝你好运如果你找到了一个可靠的点对点解决方案,也许你可以在这里的评论或其他答案中更新。我会的。到目前为止,WebRTC似乎是最好的选择,因为我可以“强制”用户使用特定的机器和浏览器。再次感谢。这是你提供这种服务的一种很好的方式。我想你找到解决办法了吧?效果如何?谢谢你!我一直在考虑在没有BitTorrent跟踪器服务器的情况下实现P2P的各种方法,这当然是我一直在寻找的替代方案!