问题标签 [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.
c# - C#:在 TCP 处理程序线程中处理终止信号?
我在 C# 中使用 TcpClient 类。
每次有新的 tcp 连接请求时,通常的做法是创建一个新线程来处理它。并且主线程应该可以随时终止这些处理程序线程。
我对每个处理程序线程的解决方案如下:
这种轮询方法的问题在于,所有这些处理程序线程都将占用大量的处理器资源,尤其是在这些线程数量巨大的情况下。这使得它非常低效。
有没有更好的方法来做到这一点?
.net - 使用 SqlCacheDependency 获取实时更新?- ASP.NET
我想在网页上显示实时更新(基于由外部进程更改的数据库表中的状态字段)。根据我的研究,有几种方法可以做到这一点。
- 长轮询(彗星) - 这似乎实现起来很复杂
- 定期轮询 - 我可以让 AJAX 方法每 5 秒触发一次数据库命中以获取当前状态。但我担心这会有性能问题。
然后我读到了使用SqlCacheDependency
- 基本上缓存会根据表中的字段而失效。我假设我可以使用缓存失效时触发的事件向用户显示新更新?
什么是不会出现性能问题的简单解决方案?
ajax - HTTP 并行请求和 AJAX/轮询
好的,所以我们都知道大多数现代浏览器(无需调整)一次设置为 4 个并行 HTTP 请求到单个域/子域,但是长轮询 AJAX 对此有何影响?
假设我有一个 15 秒间隔的长轮询。当浏览器在这 15 秒内等待响应时,这是否仍然占用了 4 条并行线中的一条,从而有效地使任何新选项卡或页面加载仅对 3 个并行 HTTP 请求开放?
wpf - 我在 MVVM ViewModel 地狱
到目前为止,我对我的应用程序从无处不在的典型点击事件处理程序到完成 GUI 解耦的过渡方式感到非常满意。现在我遇到了一些我无法弄清楚的事情,它与我希望我的 GUI 弹出的窗口有关,它需要显示来自模型的信息。
我想我的问题的简短版本是,在 MVVM 中是否绝对禁止允许模型引用 ViewModel?这是我的场景:我有一组 LED 可以非常快速地循环通过 RGB 值。我希望我的 GUI 中的一个窗口通过与 ViewModel 的数据绑定来显示更新的颜色。我让 Window + UserControl 在测试应用程序中与模型 ViewModel 一起正常工作,但现在我必须将此 Window 放入我的真实应用程序中。
我正在运行的特定模式模拟硬件正在做什么。当我命令模型循环显示颜色时,它会启动一个线程来更改必要的类成员变量的值。
我当前的 MVVM 实现基本上是一直在轮询。为了让其他 LED 在其他地方更新,我运行了一个线程,该线程调用 ViewModel 中的一个函数。这会更新属性,因此 GUI 会自动更新,因为我正在使用数据绑定。我的 LED 示例中的问题是模拟颜色序列是在线程中完成的,所以如果我需要对值进行 ViewModel 轮询,由于 LED 变量的过度锁定,它可能会很慢。
因此,我希望有人可以推荐另一种解决此问题的方法。到目前为止,我唯一能真正想到的就是让 Window 数据上下文成为 LEDViewModel,然后还将 LEDViewModel 传递给 Model。然后当我调用 RGB 循环函数时,它可以根据需要更改必要的 ViewModel 属性,我根本不需要使用任何锁定。
这有意义吗?任何建议将不胜感激。
php - 如何编写实时统计系统?在ajax和php中
我试图制作一个实时统计栏。我想到了使用长轮询的概念。
但是当请求发送到 php.ini 时。我需要一种测试统计数据是否更新的方法。
现在我可以使用数据库查询创建一个循环,并对其进行测试。但这对我来说似乎不对:)
有没有更便宜的方法来测试数据库的更新?
http - 在客户端应用程序中更新数据,如何避免轮询?
我有一个桌面客户端应用程序,它使用简单的 HTTP 帖子通过 REST API 与服务器应用程序对话。我目前让客户端每 X 分钟轮询一次,但我希望更频繁地刷新数据。是否可以让服务器通知客户端任何新数据,或者这超出了 HTTP 服务器的意图范围?任何关于解决此问题的最佳方法的想法将不胜感激。谢谢!
biztalk - BizTalk - 从 DB 接收端口读取两次
我的接收端口是 sqlBinding 和类型化轮询。它调用一个 SP 来获取一条记录,并根据过滤条件启动相应的编排。BizTalk 组由 2 台服务器组成;因此 2 ReceiveHostInstances。如果两个主机实例都在运行 - 在某些时候相同的请求被读取两次 - 导致接收器端出现重复。但是,为什么接收端口会多次读取同一个记录呢?读取更新记录并更新它的proc,以便它不会再次被感染。
我在提交 10 个请求时观察到了这种情况;接收端口读取 11 次并启动 11 个编排。
我在一台主机上尝试了相同的(10 个请求)(如在我的开发中),接收仅显示 10 个。有什么线索吗?
ajax - Comet vs Ajax 聊天
我的网站需要一个聊天室,我还希望实现一个 facebookesque 个人对个人聊天系统。
对我来说,什么是最具成本效益/性能的(纯粹就 bw 和服务器而言)。常规的 1 秒轮询 ajax 聊天,或彗星解决方案。
谢谢。
jquery - jQuery - 轮询作业队列
我有一个包含作业队列的数据库表。一个单独的程序处理这些作业。我想提供一个网页供用户观看队列的进度。查询表并以 JSON 格式返回的服务器端脚本没有问题。
我已经阅读了 jQuery 和PeriodicalUpdater 插件。我想知道是否有可能使用这个插件来创建一个可视队列(基本解释是一个单列表,队列中每个条目都有一行),其中已完成的作业将在下一个被删除轮询时间。正如我所说,服务器端脚本不是问题,我只是无法理解这种 UI/动画。任何进一步阅读的提示将不胜感激,或者如果我完全走错了树,请也告诉我。
提前致谢
actionscript-3 - Actionscript 3:服务器轮询演示应用程序中的内存泄漏
我正在 AS3 中构建一个远程演示工具。简而言之,一个用户(演示者)可以访问“目录”HTML 页面,其中包含演示文稿中每张幻灯片的链接,并且任意数量的观众可以在另一个页面上观看演示文稿,而该页面又位于每秒轮询服务器以确保其位于正确幻灯片上的 SWF 形式。每当管理员单击目录中的幻灯片链接时,数据库就会更新,并且在下一次请求时,演示文稿 swf 会将其当前显示的幻灯片的标签与从服务器获得的响应进行比较。如果响应与当前标签不同,则 swf 会在时间线中擦洗,直到找到正确的帧标签;否则,它什么也不做,等待下一个轮询结果(一秒钟后)。
每张幻灯片都包含一个带有自己嵌套时间轴的影片剪辑,只要幻灯片显示,该时间轴就会循环播放。没有动作脚本控制任何嵌套的影片剪辑,主时间轴上也没有任何动作脚本,除了stop();
每个关键帧上的 s(每个关键帧都是演示文稿中的幻灯片)。
一切都已构建并完美运行。唯一令人不安的是,如果演示文稿 swf 打开足够长的时间(例如 20 分钟),则轮询开始对任何给定幻灯片上的动画剪辑的帧速率产生显着影响。也就是说,每一秒,持续约十分之三秒的动画帧率都会明显下降,这是非常明显的(因此是整个演示套件的交易破坏者!)。
我知道 AS3 在内存管理方面存在问题,并且我一直在努力重用对象和事件侦听器。代码本身非常简单;有一个Timer
实例每秒触发一次,它触发 anew URLRequest
被 a 加载URLLoader
。被从一个调用到另一个调用URLLoader
重用,而URLRequest
不是(它每次都需要用一个新的缓存终止值初始化,从一个调用中检索到new Date().time
)。在整个类中实例化的唯一对象是Timer
、URLLoader
、各种URLRequests
(应该被垃圾收集),唯一的事件监听器在Timer
(添加一次)、URLLoader
(添加一次),以及在时间线中前后擦洗以找到正确幻灯片的例程(一旦找到正确的幻灯片,它们就会被删除)。
我一直在使用mr doob 的 stats 包来监控内存使用情况,它肯定会随着时间的推移而增长,所以一定会有泄漏(经过一些清理和大约 25 分钟的正常运行时间,它从最初的约 30 MB 增长到 > 200 MB)。
有没有人对可能导致性能问题的原因有任何想法?
更新:我不完全确定性能问题与内存直接相关;我运行演示文稿 swf 的一个实例大约 15 分钟,虽然内存使用量仅攀升至大约 70 MB(并保持在那里),但每隔一秒就会出现明显的打嗝,与轮询调用一致(通过 Firebug 的 Net 面板跟踪)。还有什么可能导致卡顿的电影剪辑?