【问题标题】:Communication without server无服务器通信
【发布时间】:2020-09-19 10:39:15
【问题描述】:

考虑到在线游戏、whatsapp 和许多其他分布式系统等协作应用程序,服务器起着重要作用。它执行许多关键功能,这些功能是整个应用程序顺利运行所需的。

但假设我想开发一个应用程序,用户可以使用它来连接在线和实时共享数据,如文本、图像、绘图。例如,一个用户可能正在处理一个数学问题并想与另一个用户讨论它。因此,应用程序使这两个用户(以及更多,如果需要)能够联系并分享他们的想法。

用户可以在没有服务器作为中介的情况下进行这种通信吗?如果是,哪些网络技术可以实现这一点?如果缺少中介服务器,应用程序错过了哪些优势?

【问题讨论】:

    标签: networking server client client-server


    【解决方案1】:

    如果要构建这样的分布式拓扑,需要解决很多问题。

    1. 必须考虑 NAT。这是首先要解决的问题,你可能需要构建 Natpmp 或 upnp 或 ICE 来实现 nat 遍历。

    2. 第二个问题是如何在没有服务器的情况下找到其他用户。您可能需要使用 LSD 或 DHT

    3. 您需要考虑没有认证的网络安全性,例如可以存储用户信息并确保他们真正无害的服务器。

    如果您使用我上面提到的这些技术或其他一些技术来解决所有问题,那么您会发现使用服务器更好,因为它相对简单。这是商业生产中的权衡。

    【讨论】:

      猜你喜欢
      • 2020-08-05
      • 2014-03-07
      • 2021-09-13
      • 1970-01-01
      • 2013-07-01
      • 2016-04-19
      • 1970-01-01
      • 2016-08-20
      • 1970-01-01
      相关资源
      最近更新 更多