据我所知,推送通知适用于应用程序,因为客户端注册了他们的设备并具有唯一 ID,然后通知通过持久连接(持续打开的连接)转发到该唯一 ID。换句话说,在 facebook 中,一个用户想要向另一个用户发送消息,然后该消息被发送到 facebook 上的中央服务器,然后从那里转发到 Apple 或 Google(或两者,我不知道) ,然后 Apple 或 Google 的服务器将消息转发给 ID 与发件人的 ID 匹配的收件人。美好的。过程是:
发件人 > facebook 服务器 > Apple / Google > 收件人
如果应用程序本身为它的客户组织了一个 VPN,比如说 facebook 有自己的 VPN。那么,这样的消息是否可以通过以下形式的 VPN 上的路由立即从发送者发送到接收者:
发送者 > 接收者
此外,通过这种方法,客户端不必打开连接。例如,他们可以让服务器监听 VPN 上的端口,然后必须通过 facebook 服务器和底层电信基础设施处理 VPN 中的消息路由,从而省略与 Apple 或 Google 服务器的通信。因此,与推送通知相比,这种方法似乎有两个优点:
- 客户端没有持久连接,并且
- 无需与 Apple 或 Google 服务器通信。
这种方法的缺点是什么,它没有被使用,但是我们有推送通知,它们都具有持久连接,并且需要与 Apple 或 Google 服务器通信,以便通知可以到达目的地?