1

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

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

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

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

4

2 回答 2

2

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

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

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

于 2011-07-05T07:21:41.857 回答
2

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

于 2011-07-05T07:36:33.583 回答