假设 A 和 B 想要通过互联网进行通信,我们从 ISP 接入互联网,而他们的 IP 在远程计算机上是不可见的,那么像 team viewer 这样的应用程序如何在我们的计算机上工作呢?这只有当我托管一个 A 和 B 可以看到其 IP 的网站时才有可能,然后 A 将其数据放置在 C 上,B 将从 C 读取它。A----<-->----C-----<-->------B
我想知道这是正确的方法吗?Team Viewer、Skype 应用程序如何在 PC 之间进行通信
答案1
模式通常是 A 和 B 会向双方都可见的中继服务器发送请求。由于请求是传出的,因此 ISP 不需要 A 或 B 支持传入请求。
最简单的实现方式是让服务器充当两者之间的中介。这会产生一些额外的延迟和服务器负载。
或者,服务器可能会告诉 B 或 A 尝试与另一个客户端建立连接。如果任一连接均可行 - A 或 B 的 ISP 之一配置为允许传入请求 - 那么对话将通过直接连接继续,而不是通过服务器进行中继。
答案2
基本上是的,但不仅仅是 IP。由于防火墙、路由器等,您可能希望 C 能够处理所有流量(并缓冲它)。C 不能仅仅依赖于交换 IP 地址。