微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Apache,javascript和PhoneGap:听一些随机事件的最佳方式是什么? 区间还是长时间轮询?

我正在构build一个应用程序,其中客户端(PhoneGap)正在等待某个事件被另一个客户端触发!

因此,模式当然是:客户端1发送消息(名称,消息和目标(客户端2)) – 服务器 – 客户端2接收消息(来自客户端1,消息,客户端1),这可能发生每秒或每小时。 没有规则。 它也可能只发生一次或从未..

我有很多关于长轮询的例子,如下: 我如何实现基本的“长轮询”?

我知道这与Apache一起使用是不好的。 所以我想知道在这种情况下,我应该使用setInterval?

使用Comet(长轮询)时uwsgi进程卡住了吗?

在专用服务器上优化长轮询

例外:bus.Bus不可用odoo 8多处理,Nginx作为代理服务器

Nginx作为反向代理,同时长时间轮询

在Apache上使用PHP进行长轮询

我是否应该设置一个时间间隔来要求服务器检查数据库,如果我以前从客户端logging任何消息到另一个消息,并提供它? 或者这是一个糟糕的路要走?

请指教,谢谢:)

套接字,HTTP查询或长轮询5000连接客户端?

Longpolling对服务器的影响

Nginx + PHP:取消请求时停止进程

Nginx长期轮询 – build议和澄清

Nginx彗星与jquery长时间轮询

这将取决于消息的发送频率,以及是否需要实时处理这些消息。 如果是这种情况,我会考虑实施HTML 5 Web套接字。

这里有一篇很好的文章可以帮助你开始,如果你读到最后你会发现有一个跨浏览器问题的解决方案(使用socket.io库),这将回退到长轮询和其他技术来实现你想要什么。

如果您不需要实时处理这些消息,并且您的应用程序可以等待一段时间来执行基于已存储在存储库(例如数据库)中的消息的某个操作,那么我会使用javascript web用setInterval调用REST服务来检查这些消息。 这是一篇很好的文章

使用网络工作者的原因是他们不会在检查新消息时阻塞用户界面,所以可用性会更好。

这是一个网络工作者的一个小例子:

使用webworker

var worker = new Worker("http://mydomain.com/worker.js"); worker.onmessage = function(event) { //new message received,do something in the UI } worker.postMessage("start");

Web Worker(worker.js)

this.onmessage = function(event) { postMessage("worker started"); } //Period of time to check for the messages setInterval(function() { getNewMessage() },5000); function getNewMessage() { //Call your REST service here and respond back to the main js thread if a new //message is received postMessage("New message received!"); }

希望这可以帮助

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐