开发者社区> 古镇月影> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

ip push

简介: 引用:http://baike.baidu.com/view/3250601.htm IP Push基于HTTP协议。邮箱客户端会保持一个固定的IP地址,当邮箱客户端需要收到新邮件通知时,向服务器发出HTTP请求;服务器则将一直保持这个连接。
+关注继续查看

引用:http://baike.baidu.com/view/3250601.htm

IP Push基于HTTP协议。邮箱客户端会保持一个固定的IP地址,当邮箱客户端需要收到新邮件通知时,向服务器发出HTTP请求;服务器则将一直保持这个连接。当服务器有新邮件到来时,服务器会在第一时间将新邮件推送给客户端,从而实现Push Mail的一种方式。

 

目录

简介
什么是PUSH?
Push Mail的特点
实现原理
邮件服务商提供的IP PUSH服务
展开
 

编辑本段简介

IP push的弊端:

  需要保持网络在线。无论使用手机还是电脑,设备必须保持互联网在线。

常见疑问:

  1、耗电量。保持时刻的在线,即便是不刷新数据和传递数据,也会有50%以上的(待机对比)耗电量消耗,这显然不符合目前的低碳生活;
 
  解决办法:合理安排工作时间,减少在非工作时间或处于PC前工作时的GPRS连接;
 
  2、关机重启则失效。
 
  一般的移动设备需要通过第三方软件实现IP Push的功能,而Windows、Android和Symbian等手机系统已包含相关功能,因此可以无需安装其他客户端。
 
  但是通过第三方软件实现的IP Push功能的移动设备,重启后会失效,无法正常实现邮件的接收。
 
  解决办法:设置第三方软件为开机自动重启,并允许其自行访问网络注册。
 
  弊端:降低了一定的开机速度。
 
  3、辐射问题。(有争议,目前并无充足科学研究证据手机辐射对人体有影响)
 
  通过GPRS访问网络会带来一定的辐射,此种辐射对于心脏病人和孕妇会有较大的影响,而未连接GPRS的移动设备辐射值明显要低于保持在线的移动设备。
 
  解决办法:照顾自己的身体和家人的健康,切记不要在老人、孩子和孕妇身边常保持GPRS在线。可以设置一定的时间访问网络查找邮件的更新(第三方软件一般带有此功能,Windows、Android和Symbian的客户端支持此设置。)
 

编辑本段什么是PUSH?

  这里的PUSH是特指push mail。
 
  PushMail指的是利用推送技术,将电子邮件直接传送到移动终端。简单的说,就是系统直接将电子邮箱中刚刚收到的邮件即时发送到用户手中,不像传统移动邮件系统那样必须依赖移动终端定期接/收邮件或用户主动检查邮箱,所以客户终端上时刻都能够与所指定的信箱维持同步的资料。 当你有新邮件时,服务器会在第一时间将这个消息“推”给你。相比传统的定时收信(即所谓的“拉”技术),Push的好处是可以让你更快地收到邮件。比如用foxmail客户端,设置了5分钟自动收信,当一封信在一个随机的时间发出之后,需要平均等待2.5分钟才可以得到通知,而如果服务器可以Push给你,就只需等待一个网络延时。而遗憾的是,在广泛使用的pop3或imap协议中,并没有考虑到Push机制,因此Push功能需要额外的开发和协议规定。
 

编辑本段Push Mail的特点

  Push Mail是将邮件主动推送到手机终端的移动邮件解决方案,能随时将企业邮件推送到用户手机终端上,实现关键信息随时、随地、随身获得。
 
  1、主动将新邮件推送到手机终端,用户不用任何操作
 
  2、可直接在手机上查看附件
 
  3、可国际漫游,GPRS网络覆盖的地方都能使用
 
  4、支持采用高可靠性的SSL安全加密措施
 
  5、流量少、费用低
 

编辑本段实现原理

  SP服务商提供的EMN PUSH(即SMS Push)服务(这里以中国移动为例)
 
  中国移动加密Push Mail平台,完整结构如下:
 
  中国移动安装有一套邮件推送网关(GEGW:GPRS Email Gateway),负责向手机发送EMN短信,建立和维护CEF和手机之间的加密传输通道;在企业端安装邮件代理网关(CEF:Corporation Email Forward),负责从企业邮件服务器收取邮件缓存在本地,负责对邮件附件进行压缩和转换;在用户手机上安装Push Mail客户端软件,在手机上提供一个完整的邮箱功能,负责接收、存储、转发、回复、新建邮件。
 
  当有新邮件到达时,CEF通过GEGW发送EMN短信到手机终端,触发用户手机Push Mail客户端,通过GPRS网络连接GEGW,与CEF建立一条端到端的SSL加密通道连接,取得邮件。
 

编辑本段邮件服务商提供的IP PUSH服务

  只有运营商可以提供Push,而他们又盯上了邮箱这个领域,其他邮箱运营的公司要想和移动竞争,似乎已经输在了起跑线上,然而事情并非如此。与传统稳重的大国企相比,新兴IT公司的优势就是具有不断的创新精神和强大的开发团队。其实Push不一定非要通过SMS实现,用Internet也可以。通过网络,手机客户端可以发送一个HTTP请求到服务器,告知服务器客户端需要这个用户的新邮件通知,当服务器收到一封新邮件时,就会回复这个HTTP请求;客户端通知用户收到了新邮件,并同时再次与服务器建立连接,等待下一封信。有些人觉得只有“SMS Push”才是真Push,IP Push是伪Push。他们为什么会这么想呢?因为他们觉得IP Push需要保持连接,浪费了流量、电量、网络资源。那事实是这样吗?其实并非如此。我们首先思考这样一个问题,你打电话给你的朋友,为什么基站在很短几秒钟之内就可以通知到对方的手机有一个来电呢?那是因为其实基站时刻都在跟你的手机保持着连接。所以SMS path也需要“保持连接”,再进一步思考,其实只要能够保持和基站的连接,其实就已经可以保持网络连接了,而其实等待一个HTTP的响应(reponse)或者说维持一个TCP连接,额外开销并不大。用“网易掌上邮”、尚邮push mail等IP Push邮件的实测结果是,打开Push和关闭Push,电量并没有明显消耗,一天消耗的流量大概是50-60KB,也就相当于打开一个不太复杂的web页面所产生的流量。

IP PUSH的特点

  1、需要保持网络在线。无论使用手机还是电脑,设备必须保持互联网在线。
 
  2、IP PUSH在保持互联网在线时基本不产生流量。
 
  3、相比SMS PUSH,IP PUSH不需要SP支持,支持更灵活。

IMAP IDLE Push

  IMAPIDLE 模式是 IMAP 协议的一项高级功能,在这种模式下,客端登录连接服务器后并无主动查询新邮件的动作,而是停留在 IDLE(空闲) 状态,当服务器接收到新邮件后通知客端,客端再开始查询新邮件的动作,此动作完成后,客端重新回到空闲状态。所以也可以算是一种push的方式。目前gmail实现了这个功能。

什么是“伪Push”

  通过上面的分析,我们可以得出这样一个结论:所谓真正的Push,就是要求一封邮件服务器收到后,可以在一个非常短的时间(数秒)内通知客户端,而且不能产生明显的流量和电量消耗。那么非Push或者说“伪Push”的定义,就是通过定时查询的方式由客户端主动收信的,那么这种方式必将产生一定的延时。我们可能会想,如果缩短查询的时间间隔呢?比如每分钟或者每半分钟查询一次?如果这样做,必然消耗手机很多的电量和流量。

cmwap在部分地区不能实现IP Push

  cmwap是中国移动提供的一种接入点。可以访问wap站点、收发短信和通过10.0.0.172代理接入Internet。就是说,使用cmwap接入,你的网络访问是需要通过移动提供的代理完成。而这个代理在部分地区设置了严格HTTP请求超时(新疆3分钟,上海40分钟,其他地区未知,也有说超时1分钟的),可以简单的理解为一个TCP连接在没有数据传输的时候,有最长时间限制。要想在cmwap下实现IP Push,就必须在每次HTTP请求超时后重新发起一个请求来保持网络连接,这个动作使得每次HTTP请求超时后都会进行重新连接服务器,增加了流量,消耗电量。
 
  因此,在中国部分地区,通过WAP网络并不能实现真正的IP PUSH。
 
  下面罗列一些目前已知的,可以通过WAP网络实现IP PUSH的地区:
 
  1、浙江
 
  2、北京
 
  3、广东
 
  4、吉林
 
  5、广西
 
  其他未知。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
indexOf() 和 push()获得不重复随机数组
整体思路:先random()获取随机数,indexOf()排除相同的随机数,push()将不重复随机数添加到数组。其实一直想写这篇已经很久了,因为之前做的一个东西还不完善,有bug。所以一直拖到现在。今天中午趁机做了个总结,需要的小伙伴可以看看,做个参考。 之前本来是一个很low的去重方法: 先获得三个随机数,然后三个随机数分别互相比较,当出现相等的情况时,那个随机数再随机一次,然后返回那三个随机数。这个方法low在:每个数值都要比较一下,,数量少的时候,还可以写,数量多的时候,你一个个比一下试试看?
0 0
C++中push_back和emplace_back的区别
在 `C++11` 之后,`vector` 容器中添加了新的方法:`emplace_back()` ,和 `push_back()` 一样的是都是在容器末尾添加一个新的元素进去,不同的是 `emplace_back()` 在效率上相比较于 `push_back()` 有了一定的提升。
0 0
code push 相关命令
code-push login 登陆 code-push logout 注销 code-push access-key ls 列出登陆的token code-push access-key rm 删除某个 access-key 输入code-push app add 即可完成注册。
979 0
C++11使用emplace_back代替push_back
最近在写一段代码的时候,突然很好奇C++11中对push_back有没有什么改进以增加效率,上网搜了一些资料,发现果然新增了emplace_back方法,比push_back的效率要高很多。 首先,写了一个类用于计时, //time_interval.
1616 0
Push or Pull?
采用Pull模型还是Push模型是很多中间件都会面临的一个问题。消息中间件、配置管理中心等都会需要考虑Client和Server之间的交互采用哪种模型: 服务端主动推送数据给客户端? 客户端主动从服务端拉取数据? 本篇文章对比Pull和Push,结合消息中间件的场景进一步探讨有没有其他更合适的模型。
788 0
数组中的push()和pop()方法
push()方法可以接受任意数量的参数,把它们逐个添加到数组末尾,并返回修改后数组的长度。 pop()方法是从数组末尾移除最后一项,减小数组的length值,然后返回移除的项。 var arr = []; var count = arr.
464 0
push_back模式工作
自己决心今天做一个 xxx项目,写完xxx功能。 早晨9点多张三说:“A项目有一个 bug要修复”,估计十分钟就修复了,然后放弃手头项目去搞。修复这个bug的时候,发现这个A项目有些代码还有可以优化的地方,于是开始搞优化,优化完又测试。
504 0
emplace_back与push_back的区别
std::vector::emplace_back     C++   Containers library   std::vector   templatevoid emplace_back( Args&&.
1066 0
POP3邮局协议的一些命令
  POP3全称为Post Office Protocol version3,即邮局协议第3版。它被用户代理用来邮件服务器取得邮件。POP3采用的也是C/S通信 模型,对应的RFC文 档为RFC1939。
911 0
+关注
文章
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载