如何让我的用户与提要中的实时xml数据进行最佳交互?

问题描述

| 我正在编写Ruby on Rails(3)应用程序,该应用程序依赖于大约30秒更新的xml提要。我应该和某种工作人员一起解析服务器上的xml数据吗?在这种情况下,服务器将能够足够快地响应客户端以保持“实时”。我以为可以用javascript完成,但我不确定。 编辑: 每次更新将约为70kb,并且xml的源能够处理大量的连接。 不,此信息不会保存到数据库中。用户将具有对xml数据的只读访问权限。 是否可以在客户端使用javascript直接连接到xml服务器?     

解决方法

        有3种现实的方法可以解决此问题。我不是一个红宝石专家,但是这些方法都不是特定于红宝石的。 定期刷新页面本身以获取最新的提要。这是做旧的方法,虽然可靠,但却不是很好的用户体验。 定期通过AJAX捕获新数据,并根据需要将其附加到网页UI元素。在高容量情况下,这可能是最好的选择,因为它不会保留与服务器的任何活动连接,也不会刷新整个页面。但是,它也具有与选项1相同的缺点,即更新不是实时的。 如果您的受众人数较少或服务器足以分散负载,则可以采用彗星方法。本质上,对页面的每个请求都会在不可见的iframe中打开另一个长期运行的请求。服务此请求的线程的输出是一系列小的,实时更新,这些更新以javascript形式触发了UI元素的更新。然后,您必须在服务器上开发实时解析输入并通知每个活动连接新数据的过程。 简介:如果绝对需要实时数据访问和/或目标受众足够小以处理负载,请使用COMET类型设置。否则,请使用定期的AJAX更新。     

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...