如果是这样,那么最好的设计模式是什么,以及最佳技术是什么?
Push technology只是服务器启动数据传输的方法,而不是客户端询问服务器的方法.Apple通过提供内置于操作系统的功能,使推送技术相对容易使用.以及通过Google Cloud Messaging for Android的Android.然而,Windows并没有.
苹果推送通知和谷歌针对Android的消息传递似乎是操作系统需要处理的神奇和/或功能;但是,情况并非如此.将其“集成”在操作系统中的优势与让框架为您处理功能相同.
从技术角度讲,推送技术是从客户端到接受消息的服务器的长期连接.这些消息将被视为推送消息,因为客户端没有单独请求它们.
在自己实现推送技术时要记住的主要事情是,客户端负责尽可能地保持长寿命连接.由于客户端IP地址可以在断开连接之间进行更改,因此无法保证服务器的客户端地址在断开连接时是持久的.此外,客户端可以从防火墙后面连接,使服务器无法访问客户端.
为了进行比较,pull technology是客户端连接到服务器和请求数据的更传统的过程.
Apple iOS的最佳选择是使用他们的push notification service.
对于Android设备,您应该使用Google Cloud Messaging for Android.或者,您可以创建自己的后台服务来处理消息传递;这是guide.
对于Windows(至少桌面),您必须创建自己的服务来执行此类任务.这是一个MSDN guide,解释了如何使用Visual Studio(VB和C#)创建Windows服务.可能已经构建了在Windows上处理此类消息传递的框架,但是,我不知道.
精彩评论