【问题标题】:Push server implementation technology?推送服务器实现技术?
【发布时间】:2011-07-05 07:14:14
【问题描述】:

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

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

从服务器推送消息背后的技术是什么。

客户端有Android、J2me、BB、iphone等形式

【问题讨论】:

  • 这是网页应用还是iPhone应用还是Android应用等?
  • 我们会考虑 Android、J2me、BB、iphone 等不同的客户端。
  • 这个Real-Time Technologies Guide 可能值得一看,它涵盖了 Comet、WebSockets 等内容,还提供了托管服务列表以及您可以自己安装的解决方案。

标签: push-notification server-push


【解决方案1】:

谷歌搜索“COMET”,你会得到很多链接。一般来说,您需要一个服务器框架,该框架可以驻留请求并在有数据返回时将其提取出来。例如,一个基本的 Java Servlet 将为每个请求保留一个线程,如果您“停放”一个请求(通过等待),该线程将与请求一起暂停。这样一来,等待请求的客户端与服务器中的线程数量一样多,这对于大型应用程序来说是不够的。

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

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

    最近更新 更多