jQuery和AJAX或服务器发送事件

12

看起来在这两种情况下客户端都会向服务器发送请求并得到响应,除非在服务器发送事件中你可以在服务器端代码中设置重试时间。那么与使用jQuery post或get方法相比,使用SSE有什么好处吗?


你使用的是哪一种服务器语言/框架? - StuperUser
你能提供一份代码和响应的例子吗? - David Laberge
2个回答

10

SSE不受IE支持,但是如果你使用库,可以在IE 8+上实现。

服务器发送事件会减少服务器上的流量。客户端不需要每分钟请求新闻。数据仅在可用时传递。此外,数据会即时到达客户端,而不仅仅是在客户端请求时。

如果要使用SSE,应该使用像Yaffle's EventSource这样的库。


2
https://github.com/Yaffle/EventSource/ - JavaScript polyfill - 流式传输在所有浏览器中都受支持(包括IE8+)。 - 4esn0k

4
使用SSE更好,因为请求的负载比长轮询要少得多。在长轮询中,您需要每次发出一个HTTP请求,但在SSE中,您只需要使用一个HTTP连接将数据从服务器发送到客户端。
在服务器中嵌入SSE很容易实现(特别是在node.js中)。 这里有一个处理SSE的PHP库,由我创建。
希望这些内容能对您有所帮助。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接