摘要:
智游推送CTO浅谈推送服务发表于2013年10月8日由shusheyu推送,根本上而言就是内容提供商向用户传递消息的一种服务,推送的作用在于主动提醒用户,不需要主动刷新程序或者网页去检查更新,比如Android的sina微博,必须手动刷新程序才能更新微博或者查看好友申请。这种做法可以节省流量,对于手机包月用户而言非常有必要的。用户专注于当前任务时,可以接收到其他应用程序推送的消息,用户可以及时处理多任务。首先谈下pushservice采用的两种实现方案,一种是长连接、一种短轮循。长连接是在用户与内容服务商之间建立一种长时间的连接,服务端一旦有新的消息立刻发送给客户端,好处在于有消息时由服务器告 阅读全文
摘要:
如何实现高效处理百万级句柄发表于2013年9月23日由admin开发高性能网络程序时,windows开发者们言必称iocp,linux开发者们则言必称epoll。大家都明白epoll是一种IO多路复用技术,可以非常高效的处理数以百万计的socket句柄,比起以前的select和poll效率高大发了。我们用起epoll来都感觉挺爽,确实快,那么,它到底为什么可以高速处理这么多并发连接呢?先简单回顾下如何使用C库封装的3个epoll系统调用吧。Cpp代码intepoll_create(intsize);intepoll_ctl(intepfd,intop,intfd,structepoll_eve 阅读全文
摘要:
推送的心跳机制发表于2013年9月28日由smali在socket通信中,心跳是为了判断当前连接是否有效,可被使用。如果可以及时的判断出当前连接已经失效了,就可以快速的建立重连机制。在Android的世界里,google推出的云推送服务,默认心跳是28分钟,但这个放诸全球绝大部分地区行得通的规则,到了中国大陆,就出现了问题。以中移动的2.5G网络为例,经过粗略测试,大约5分钟左右的基带空闲,连接就会被释放,如果出现信令风暴的时候,经过测试30S左右的基带空闲,连接就会被释放,这也是为什么微信Android版本选择以‘5分钟’为周期发送连接心跳。其实不然,5分钟只是测试出来的一个平均值,可能在5 阅读全文
摘要:
市面上Android推送方案存在的问题发表于2013年9月28日由smali关于服务端向Android客户端的推送,主要有三种方式:轮询:应用程序应当阶段性的与服务器进行连接并查询是否有新消息的到达,你必须自己实现与服务器之间的通信,例如消息排队等。而且你还要考虑轮询的频率,如果太慢可能导致某些消息的延迟,如果太快,则会大量消耗流量和电量。SMS:通过发送短信并解析短信内容来获取服务器端的指令,这个里面的问题是很难找到免费的网管来发送短信。Socket:socket通讯,保持持久连接以上是基于推送的三种方案,现在市面上的推送也都是基于第三种方案的。如果有兴趣的可以在Google,百度搜索“an 阅读全文
摘要:
推送方案的比较发表于2013年10月3日由smali1.推送方式基础知识:在移动互联网时代以前的手机,如果有事情发生需要通知用户,则会有一个窗口弹出,将告诉用户正在发生什么事情。可能是未接电话的提示,日历的提醒,或是一封新的彩信。推送功能最早是被用于Email中,用来提示我们新的信息。由于时代的发展和移动互联网的热潮,推送功能更加地普及,已经不再仅仅用在推送邮件了,更多地用在我们的APP中了。当我们开发需要和服务器交互的应用程序时,基本上都需要获取服务器端的数据,比如《地震应急通》就需要及时获取服务器上最新的地震信息。要获取服务器上不定时更新的信息,一般来说有两种方法:第一种是客户端使用Pul 阅读全文
摘要:
Push的原理:Push的工作机制可以简单的概括为下图图中,Provider是指某个iPhone软件的Push服务器,这篇文章我将使用.net作为Provider。APNS是ApplePushNotificationService(ApplePush服务器)的缩写,是苹果的服务器。上图可以分为三个阶段。第一阶段:.net应用程序把要发送的消息、目的iPhone的标识打包,发给APNS。第二阶段:APNS在自身的已注册Push服务的iPhone列表中,查找有相应标识的iPhone,并把消息发到iPhone。第三阶段:iPhone把发来的消息传递给相应的应用程序,并且按照设定弹出Push通知。从上 阅读全文
摘要:
对于一个server,我们一般考虑他所能支撑的qps,但有那么一种应用, 我们需要关注的是它能支撑的连接数个数,而并非qps,当然qps也是我们需要考虑的性能点之一。这种应用常见于消息推送系统,也称为comet应用,比如聊天室或即时消息推送系统等。comet应用具体可见我之前的介绍,在此不多讲。对于这类系统,因为很多消息需要到产生时才推送给客户端,所以当没有消息产生时,就需要hold住客户端的连接,这样,当有大量的客户端时,就需要hold住大量的连接,这种连接我们称为长连接。首先,我们分析一下,对于这类服务,需消耗的系统资源有:cpu、网络、内存。所以,想让系统性能达到最佳,我们先找到系统的瓶 阅读全文
摘要:
推送的重连策略发表于2013年10月18日由smali推送有强大的重连机制,不需要开发者执行重连操作。一次调用连接后,如果出现断开情况,推送会主动进行重连。并通过单向心跳,双向心跳,网络连接重连,开机重连等方式,提高了推送的及时性和稳定性。1、推送android版启动连接有两个方法:connect(Contextcontext)和connect(Contextcontext,booleanisReAutoConnect),如果我们调用第一个方法,则登录失败时是不会自动重连的(不推荐)。如果我们调用第二个方法,则推送在登录失败后会自动重连,不需要开发者主动进行重连。2、心跳检测:推送登录成功以后 阅读全文
摘要:
因为手机平台本身、电量、网络流量的限制,移动互联网应用在设计上跟传统 PC 上的应用很大不一样,需要根据手机本身的特点,尽量的节省电量和流量,同时又要尽可能的保证数据能及时到达客户端。极光推送简介随着智能终端的不断普及,人们对信息实时性和交互性都提出了更高的要求,推送能力已经成为一款APP的基础功能,在满足消息推送的基础上还可以帮助提升用户活跃度,增加互动性。极光推送正是一个整合了Android推送、iOS推送的统一推送服务平台。作为国内最专业的第三方移动消息推送服务提供商,极光推送目前正为数千 企业和开发者提供稳定的毫秒级送达移动消息推送方案,已经覆盖了上亿 Android和 iPhone终 阅读全文
摘要:
作为Android开发人员,在做应用开发时我们常常会碰到消息推送,因为Android不像苹果,本身没有消息推送机制,通常采用的是基于XMPP协议的推送,但这种开发很麻烦,因此在市场上应运而生了一种封装好的推送方式:极光推送,它的出现大大节省了开发时间,极光推送一度占领移动开发的市场,但是最近,百度推出了新的推送方式:百度云推送,在市场的反应也相当不错,作为开发者,有时候不知道选择哪一种方式的推送合适,下面就将详细介绍下这两者的区别和优势,希望你能从中找到答案。百度云推送的机制和特点:1.单播消息推送描述开发者向应用的特定终端或特定用户推送消息。 特定终端对于应用来说,就是安装了应用的一台具体的 阅读全文