目前,我们有一个Applet,它通过FTP,套接字和HTTP消息与我们的硬件和服务器进行交互。我被问到是否可以删除applet,只需使用浏览器显示动态网页和JavaScript。我不相信这是可能的,因为我的理解是浏览器只能显示对它已启动的请求的响应,而我们的应用程序需要显示从硬件获取的数据,这些数据仅在其传感器被触发时发送。 / p>
我想过使用AJAX定期轮询硬件,但我相信相同的原始安全限制将阻止我轮询使用不同地址的不同硬件设备。我可以通过让各种硬件设备将所有更新发送到服务器来解决这个问题,但这会强制对我们当前配置的方式进行重大更改。还有一个性能问题 - 它是一个国家应用程序,有数百个设备每天产生数百万个事件。我必须能够在3秒内响应,因此我必须非常频繁地轮询硬件(1秒或更短)以保持这种性能水平。
我对Web应用程序的理解是否正确?
浏览器是否有办法显示 来自 多个地址的信息?
答案 0 :(得分:1)
有可能。首先,您认为浏览器无法使用AJAX直接连接到其他服务器。如果这些其他服务器实际上是一些硬件设备,我会称之为优势。您需要一台服务器来接收所有流量。
但是,在现代浏览器和服务器中,您可以使用comet,web-socket和其他技术将数据从服务器推送到客户端。基本上,您在客户端上保持开放的HTTP连接,并且每当服务器有一些数据时,它立即发送它而没有任何延迟。与每隔几秒进行一次轮询相比,这是一项重大改进 - 您可以避免延迟和系统上的额外负载。
在Java土地上,你有servlet-3.0和atmosphere来救援。