首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将数据推送到客户端浏览器的Web应用程序

将数据推送到客户端浏览器的Web应用程序
EN

Stack Overflow用户
提问于 2012-07-09 18:07:14
回答 1查看 1.4K关注 0票数 0

目前,我们有一个Applet,它通过FTP、Socket和HTTP消息与我们的硬件和服务器进行交互。有人问我,我们是否可以删除applet,只需使用浏览器显示动态网页和JavaScript。我不相信这是可能的,因为我的理解是,浏览器只能显示它已经启动的请求的响应,而我们的应用程序需要显示它从硬件获得的数据,这些数据只有在传感器被触发时才会发送。

我曾想过使用AJAX定期轮询硬件,但我相信相同的来源安全限制将阻止我轮询具有不同地址的不同硬件设备。我可以通过让各种硬件设备将所有更新发送到服务器来解决这个问题,但这将迫使我们对当前配置方式进行重大更改。还有一个性能问题--它是一个全国性的应用程序,有数以百计的设备,每天产生数百万个事件。我必须能够在3秒内作出反应,所以我必须非常频繁地轮询硬件(1秒或更短的时间),以保持这种性能水平。

那么,我对web应用的理解是正确的吗?

浏览器是否有一种方式来显示来自多个地址的的信息?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-07-09 18:12:06

这是可能的。首先,您是对的,浏览器不能使用AJAX直接连接到其他服务器。如果这些其他服务器实际上是一些硬件设备,我认为这是一个优势。您需要一个服务器来接收所有的通信量。

然而,在现代浏览器和服务器中,您可以使用彗星网络套接字和其他技术将数据从服务器推送到客户机。基本上,您可以在客户机上保持一个开放的HTTP连接,并且每当服务器有一些数据时,它都会立即立即发送它,不会有任何延迟。与每隔几秒钟轮询相比,这是一个很大的改进--避免了系统上的延迟和额外负载。

在Java中,您需要servlet-3.0大气来帮助您。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11400612

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档