iOS的“推送”通知是如何无需设备轮询服务器直接投递到特定设备的?
例如,假设我在Facebook上收到了一条新消息。Facebook通知Apple我的设备应该接收此类通知。但是,苹果是如何知道要将消息推送到哪个设备/IP地址的呢?
iOS的“推送”通知是如何无需设备轮询服务器直接投递到特定设备的?
例如,假设我在Facebook上收到了一条新消息。Facebook通知Apple我的设备应该接收此类通知。但是,苹果是如何知道要将消息推送到哪个设备/IP地址的呢?
每个设备都可以使用其独特的设备令牌更新数据。这张图片能够清楚地解释一切。. .
这对我来说太多了,无法在评论中概括。
根据文档说明:
Apple推送通知服务(APNs)向已注册接收这些通知的设备传播推送通知。每个设备与服务建立一个被授权和加密的IP连接,并通过此持续连接接收通知。提供程序通过持久且安全的通道连接到APNs,同时监视发送给其客户端应用程序的传入数据。当应用程序的新数据到达时,提供程序通过通道准备并发送通知到APNs,APNs将通知推送到目标设备。
我建议阅读文档以获取更多信息以及如何使用和配置。所有信息都在那里。
设备不会持续轮询服务器以获取推送通知。
简单地说,假设iPhone已连接到互联网。连接到互联网后,iPhone建立与Apple推送通知服务器的连接。该连接是一个开放式连接,这意味着数据可以从服务器传输到iPhone,而只要数据到达服务器,它就会被立即推送到iPhone上。
Apple不使用HTTP协议进行推送通知,但如果您了解HTTP协议,它几乎采用相似的方法。
http://en.wikipedia.org/wiki/Push_technology#HTTP_server_push