问题标签 [polling]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2527 浏览

php - PHP自动刷新页面而不会丢失用户输入

我正在开发一个 PHP 协作软件项目。我有一个页面显示来自其他正在向数据库添加内容的用户的最新更新,但也有一个表单输入以允许用户输入文本。我目前正在使用此代码每 30 秒自动刷新一次页面:

问题是标题代码刷新了整个页面,而不仅仅是从数据库中提取的内容。是否有任何 PHP 代码可以从数据库中提取任何新数据而不刷新整个页面?

如果有人能指出我正确的方向,我将不胜感激。

0 投票
2 回答
2281 浏览

java - 轮询服务器状态的方法

我正在尝试创建一个 JSP 页面,该页面将显示一组本地服务器中的所有状态。目前我创建了一个调度类,它将不断轮询以 30 秒的间隔检查服务器的状态,延迟 5 秒以等待每个服务器回复,并为 JSP 页面提供信息。但是,我发现这种方式不准确,因为要更新计划类的信息需要一些时间。你们有更好的方法来检查本地网络中多个服务器的状态吗?

- 更新 -

感谢@Romain Hippeau 和@dbyrne 的回答

目前我正在尝试将代码更多地放在服务器端,即不断检查异步服务器组的状态以进行更新,以使其更具响应性。但是我忘了补充一点,客户端有能力控制服务器状态。因此,例如当客户端更改服务器状态,然后刷新页面时,我遇到了问题。当页面从未更新的调度类中检索信息时,它将显示服务器以前的状态。

0 投票
1 回答
175 浏览

wcf - 在每次 silverlight 投票时在服务器上运行的自定义代码。(轮询双工)

当 silverlight 客户端每次轮询服务器以保持连接处于活动状态时,是否可以运行自定义代码。我的应用程序是可从 silverlight3 获得的彗星式轮询双工通信的实现。我发现它在每次投票时都会发送以下 Soap 消息。

0 投票
1 回答
462 浏览

java - 监控数据库:MySQL

我写信征求意见。我必须监视 mysql 数据库上的某些“插入”。以什么方式更方便呢?该应用程序使用 Servlet 和 MySQL。非常感谢

0 投票
1 回答
193 浏览

flash - 闪存缓存问题?

我遇到以下问题:

我有一个 WCF 服务,它检查数据库表并将结果以 JSON 形式返回到 Flash 应用程序。
Flash 应用程序每 2 秒轮询一次 WCF 服务,直到记录准备好。问题是 flash 似乎正在缓存我的请求,因为在第一个请求之后,该服务再也不会受到攻击!
我找到了一种解决方法,通过在查询字符串上附加一个随机数,但必须有比这更好的方法吗?

非常感谢任何输入。

干杯

0 投票
1 回答
1969 浏览

ajax - 走出这个世界彗星编程和基于网络的聊天

当前项目设置

我一直在从事基于网络的聊天,类似于 Facebook 聊天。在当前状态下,我监听传入的聊天并检查现有聊天中的新消息是通过执行...

...这样做setTimeout()可以确保这些功能始终运行。根据我打开的聊天窗口的数量,Firebug 的控制台可能会因为POSTs 到服务器而发疯 :)

显然这确实效率低下,但这是我可以让事情正常工作的唯一方法。现在我正在寻找方法让它变得更好,正确地做到这一点!

有些研究

现在,我听说过Comet 编程,这是打开与服务器的长寿命 HTTP 连接的方法,但我不熟悉 Comet 背后的技术或想法。用于 HTML5 的WebSockets可能更好,但由于它没有全面展开,也不是所有浏览器都支持,所以我会坚持使用有效的方法。

根据 Wikipedia,有几种使用 Comet 风格进行开发的方法:流式处理(隐藏 iFrame、XMLHttpRequest)或带有长轮询的 AJAX(XMLHttpRequest、Script 标签)。但是,我对此一无所知。我还阅读了有关AJAX 推送引擎 (APE)的信息,它看起来很酷,但我暂时不想使用第三方。

我最近偶然发现了WebChat 2.0,所以我将查看源代码以尝试了解它是如何工作的。

关于问题

那么在哪里可以找到有关如何开始此类项目的示例代码/教程?我将如何实施 Comet 技术?如何设置与服务器的长期 HTTP 连接?

0 投票
1 回答
676 浏览

linux - 民意调查导致崩溃

我遇到了以下值的崩溃:-

Poll 是正在使用的系统调用,将“errno”作为 24 (EMFILE) 并且 struct pollfd 的值“fd = 1022, events = 1, revents = 32”

在这里,我们正在使用“fd = 1022”然后为什么将“errno”显示为 24(EMFILE /打开的文件过多/)

我有多个线程在无限循环中工作。

0 投票
1 回答
99 浏览

jquery - 我的服务器轮询方法有问题吗?

我试图从数据库中获取某个 php 文件的帖子。

这是发送 post 请求的 js 脚本(我使用 jquery 和 smartupdater 插件)

和我的 php 文件:

我不知道怎么了,我做错了吗?

0 投票
1 回答
1205 浏览

jsonp - 如何使用 JSONP 轮询更新?

我有一个每分钟更新一次数据的 Web 服务器,并希望将这些数据提供给所有类型的客户端。为了减少带宽,我设置 PHP 脚本以支持条件 GET,使用 IF-MODIFIED-SINCE 和/或 IF-NONE-MATCH。这个想法是客户端可以每 30 秒轮询一次,从而确保他们不会错过任何东西,而且不会得到重复的数据。

这一切都适用于大多数类型的客户端,并且我已经验证它适用于支持标准 HTTP 条件 GET 语义的客户端。

但它不适用于 JavaScript,因为 JSONP 将 <script> 标记插入 DOM 并让浏览器处理事情——并且不支持(至少,我不知道)对 <script> 标记中的条件 GET 的支持。

所以我修改了我的 PHP 脚本以支持传递 etag 值。返回的数据包含一个在该分钟内唯一的 etag 值。当 JavaScript 客户端从服务器接收数据时,它会保存 etag 值,以便在后续请求中使用该值。该请求采用以下形式:

如果数据的 etag 与传递的 etag 不匹配,那么我发送新数据。

这一切都很好,并且使用 jQuery 编写代码非常容易。我的困境是,如果 etag 匹配,该怎么办。我看到两个选择:

  1. 返回 HTTP 304(未修改)
  2. 返回 HTTP 200(OK),但返回的数据仅包含标头信息(修改日期、etag 等),没有实际数据项。

如果我做第一个,那么 JavaScript 客户端代码将大大简化。如果浏览器收到对注入的 <script> 标签的 304 响应,它似乎工作得很好。但是......这个解决方案让我感到困扰。我不知道它是什么,但似乎我依赖于可能是特定于浏览器的行为。如果某些浏览器收到 304,可能会决定报告错误。

做第二个需要在服务器上做更多的工作,需要更多的带宽,并且需要客户端检查数据以查看数据是否已更新。这对每个人来说都是更多的工作,但它看起来更干净。

So, to my question. If you were writing a JavaScript client to get this data, which would you prefer? A silent failure that never calls your "success" callback? Or a "success" return that has no data (beyond status) in it? A third option?

0 投票
2 回答
6451 浏览

c - 文件描述符轮询

我创建了一个以下程序,我希望在其中轮询我在程序中打开的文件的文件描述符。

它正在无限循环中。当文件发生某些操作时,我期望运行循环。(它是一个 ASCII 文件)请帮助