问题标签 [server-sent-events]

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 回答
11759 浏览

javascript - 有 jQuery 事件源吗?

Server Sent Events 似乎是 jQuery 插件的主要候选者。JavaScript 的第 921 页,权威指南展示了如何使用 EventSource。但是然后第 923 页说 IE 使用 attachEvent 而不是 addEventListener。

我在 github 上找到了 jQuery.EventSource,但没有提到 attachEvent。相反,它回退到使用 $.ajax。

问:如果我要使用 JavaScript 的 EventSource 功能,我应该使用 jQuery.EventSource 吗?

我得有更多的jQuery!

0 投票
2 回答
1257 浏览

django - 是否有任何好的 Django 插件/模块可以为您的应用程序添加服务器发送事件支持?

我找到了这个:http ://www.niwi.be/post/django-sse-html5-server-sent-events-django/但它的边缘看起来很粗糙,并且处于 0.2 版不会我对此充满信心。

我知道 SSE 支持并不完全是火箭科学,所以也许它不是必需的,但我想我会看看其他人是否知道任何其他有帮助的项目或模块。

我正在寻找常用的模块建议或坚定的“自己动手”类型的答案。

0 投票
2 回答
27608 浏览

html - 服务器发送事件与轮询

HTML5 SSE和直接 Ajax 轮询之间是否存在很大差异(在性能、浏览器实现可用性、服务器负载等方面) ?从服务器端来看,似乎EventSource每隔 3 秒左右就会访问指定的页面(尽管我知道时间是灵活的)。

诚然,在客户端进行设置比设置一个计时器并$.get每隔一段时间设置一次要简单,但是还有什么其他的吗?它会发送更少的标题,还是会做一些我错过的其他魔法?

0 投票
1 回答
1083 浏览

servlets - 使用 Servlet 作为服务器发送事件 (SSE) 的服务器

我使用 servlet 作为我的服务器来向我的 jsp 客户端发送更新(使用 HTML5 SSE)。这是我的jsp代码

这是我的 servlet 代码

公共无效doPost(HttpServletRequest请求,HttpServletResponse响应){

服务器没有响应。我已经在 jboss 中部署了我的 servlet,并且 servlet 根本没有被 jsp 文件调用。servlet 开头的 print 语句没有执行。

0 投票
2 回答
3353 浏览

servlets - 服务器使用 servlet 发送事件

我使用 servlet 作为我的服务器来向我的 jsp 客户端发送更新(使用 HTML5 SSE)。这是我的jsp代码

这是我的 servlet doGet 方法。

这工作正常,默认情况下服务器大约每 3 秒发送一次更新。我想将其更改为每 10 分钟一次。可能吗?如果是,如何?

0 投票
1 回答
6146 浏览

php - 如何触发 EventSource SSE 事件?

我最近发现了 EventSource,YUI3 有一个 Gallery 模块来规范化和回退行为,这就是我在示例中选择使用的,因为我已经使用了该框架。

因此,我进行了相当多的搜索,阅读了许多博客、帖子和示例,所有这些都显示了几乎相同的内容:如何设置基本的 SSE 事件。我现在有 6 个打开/消息/错误/关闭事件触发的示例。

我没有的(我希望这个链接能给我的)是一个如何触发对我的应用程序更有用的 SSE 事件的例子,我正在尝试一个叫做“更新”的例子。

这是我的基本测试页面:http ://codefinger.co.nz/public/yui/eventsource/test.php (它也可能是一个html文件,这里还没有php代码)

这是 EventSource 构造函数中的“message.php”:

从上面的实时示例中,您可以看到我尝试使用 YUI 的 io 模块发送带有参数的请求,以在单击“更新”按钮时触发我的“更新”事件。正如您在 Firebug 的 Net 面板中看到的那样,它似乎有效,但我的事件没有被处理(我意识到上面的脚本将再次运行该循环,我只想在连接的浏览器中处理我的事件,然后我将删除/清理)。

我做这部分错了吗?还是我做错了什么更根本的事情?我正在尝试推送事件以响应我的 UI 状态变化。

这个 SO 问题似乎已经接近尾声,@tomfumb 评论说他的下一个问题将是“如何在建立初始连接后向客户端发送新事件 - 现在我看到 PHP 必须永远不会停止执行。” 但可以肯定的是,我只会在事件发生时发送事件......而不是连续发送......

0 投票
1 回答
838 浏览

python - 事件源使我的浏览器崩溃

好吧,对事件源的使用使我的浏览器崩溃了。

我有一个显示状态表的简单页面,以及侦听服务器发送事件以获取更新的 javascript。我使用jquery.eventsource进行监听,jQuery 版本 1.6.2,并且我正在运行 Firefox 10 作为我的浏览器。在服务器上我使用 python 2.7.2 和 cherrypy 3.2.2

如果我让状态页面保持运行,并且不刷新它,那么它似乎没问题。如果我多次刷新页面(最后一次计数为 15 次),或者多次从页面导航到页面,然后大约一分钟后浏览器崩溃。

什么可能导致此崩溃?

我已经使用 Google Chrome 17.0.963.78 m 进行了尝试,但这似乎很好。Chrome 不会崩溃。

这是我的 javascript (status.js):

这是 HTML:

这是樱桃服务器

0 投票
1 回答
776 浏览

php - 使用服务器发送事件 (SSE),PHP 不会达到 max_execution_time 吗?

我看过的所有 SSE 示例都在服务器端使用无限 while 循环和 sleep cmd 来获取数据并将其返回到客户端 - PHP max_execution_time 在这里没有生效吗?还是我错过了一些明显的东西?

谢谢

0 投票
1 回答
4450 浏览

c# - 在 ASP.NET 上使用服务器发送的事件时如何检测断开连接?

我在 ASP.NET 中有以下 SSE 处理程序

即使我关闭了客户端应用程序,它也会无限期地运行。如何通知服务器停止处理程序?

我在客户端上试过:

但我没有成功。

0 投票
2 回答
1592 浏览

c# - 如何在没有轮询的情况下在 ASP.NET 上立即检测到断开连接?

我在 ASP.NET 中有一个服务器发送的事件处理程序

问题是我只能在向客户端发送内容时检测到客户端断开连接。而且我不想轮询它,这首先违背了使用服务器发送事件的全部目的。