推送的原理是什么?
这里的推送指的是客户端可以实时接收到服务器的最新数据,而不是轮询实现的定时拉取,想知道其中的原理,比如如何建立网络连接?网络请求是怎样的?服务器如何处理连接?如何保持连接而又不会导致客户端过量耗电和耗流量?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
这里的推送指的是客户端可以实时接收到服务器的最新数据,而不是轮询实现的定时拉取,想知道其中的原理,比如如何建立网络连接?网络请求是怎样的?服务器如何处理连接?如何保持连接而又不会导致客户端过量耗电和耗流量?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(3)
如果你是问 web 的话,可以了解下 websocket
推送的原理很简单,就是长连接。
因为普通的HTTP或者其他方式的短连接,在客户端获得响应后就关闭了连接,所以服务器就无法再知晓客户端的网络位置,也就无法进行消息的推送。
而长连接就是客户端与服务器建立长时间的连接,当需要推送时,服务器就可以根据连接的信息找到客户端并能发送信息给客户端。这样就实现了推送。
一般是长连接,客户端向服务器发送请求,然后服务器hold住这个链接,用来保持联系。
客户端如果断开链接,根据协议会通知服务器关闭此链接。
服务端为了防止客户端如果非正常断开链接,会定时发送心跳包,检测客户端是否在线。
需要及时通讯的一般都是长链接,比如你开着QQ断开网络,APP立马会有反馈,开着浏览器着不会。
关于电量的话,影响因素很多。
你的问题太大了,足够写很多了,这里也是给你简单说了下,里面还有很多细节可以了解。
项目初期一般推荐使用第三方推送,不写名字了,避免推广嫌疑