推送服务器实现技术?

时间:2011-07-05 07:14:15

标签: push-notification server-push

我打算开发一个使用推送功能的解决方案。将有一个服务器和移动设备客户端应用程序。

我需要知道如何从服务器将消息推送到客户端。那是我的客户端应用程序被动地等待,直到消息来自服务器。

从服务器推送消息的技术是什么?

客户端采用Android,J2me,BB,iphone等形式

2 个答案:

答案 0 :(得分:2)

谷歌的“COMET”,你会得到很多链接。一般来说,您需要一个可以驻留请求并在有数据返回时接收请求的服务器框架。例如,一个基本的Java Servlet将为每个请求保留一个线程,如果你“停放”一个请求(通过做一些等待),该线程将随请求一起被挂起。通过这种方式,您只能拥有等待请求的客户端,因为您可以在服务器中拥有线程,这对于大型应用程序来说是不够的。

因此,至少,您需要一个系统,在请求暂停时可以重用线程。随着推送再次变得流行,支持它的框架正在蓬勃发展,因此没有更多的上下文,很难推荐某个服务器/框架。

说到:-),在Play Framework(http://www.playframework.org/)中有一个示例聊天应用程序,它使用了三种“推送”变体。如果有的话,值得仔细阅读代码(假设您了解Java)以了解各种解决方案。

答案 1 :(得分:2)

查看HTML5网络套接字。这是一种打开原始TCP套接字套接字的方法,该套接字的工作方式类似于TCP套接字(with some limitations),但是通过HTTP从浏览器启动,实现真正的双向通信。许多现代浏览器都支持它,包括当前的iOS浏览器。 Android不支持它,但你可以使用Flash像素。编写一个管理套接字的Flash文件并将所有信息来回传递给Javascript非常容易。如果您有兴趣,我想我甚至可能会找到一些我可以为您挖掘的代码。