我们的架构使用Push Engine将数据发送到浏览器, 请问任何人请告诉我Push Engine有什么用? (为什么需要它,因为使用普通的AJAX编程可以进行同样的事情)\
请指导我。
答案 0 :(得分:0)
AJAX是一种拉方法 - 它要求客户端连接到服务器。如果您有一些想要实时显示的信息 - 例如足球比赛中的实时比分 - 必须定期进行AJAX调用 - 即使服务器上没有数据等待。推送引擎是相反的 - 客户端和服务器保持连接,当有数据要发送时,服务器会推送数据。
答案 1 :(得分:0)
假设您访问了一个网站,并且该网站不断更新。您的浏览器需要不断更新您正在查看的数据,这意味着浏览器需要与服务器保持通信,并获取更新。
每隔几秒就可以使用ajax发出请求,每次都从服务器获取更多数据。问题是 - 您需要进行大量的ajax调用,并为每个调用打开一个连接(套接字),最终,这是一个非常缓慢的过程。如果请求之间的间隔很大,则服务器上的更新和浏览器中的更新之间会有延迟。
要解决这个问题,我们可以操纵HTTP调用 - 保持请求(连接)打开,并不断发送数据。这样,当服务器想要向客户端(浏览器)发送内容时,就会有一个打开的连接,并且它不需要通过浏览器进行下一个ajax调用。 HTTP服务器的请求超时,因此在请求超时之前,浏览器将关闭它并创建一个新的。
另一种(更好的)方法是使用XMPP协议,用于facebook和msn等聊天。