Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用JavaScript将异步事件从Java服务器发送到web站点?_Java_Javascript_Asynchronous - Fatal编程技术网

如何使用JavaScript将异步事件从Java服务器发送到web站点?

如何使用JavaScript将异步事件从Java服务器发送到web站点?,java,javascript,asynchronous,Java,Javascript,Asynchronous,我想开发一个Java服务器,它能够以带有JavaScript的网站的形式向客户端异步发送消息。我知道一种可能性是使用WebSocket,但IE 9不支持这些 为了将消息从客户端传输到服务器,我可以使用AJAX调用,服务器端可能有一个RESTful接口 有人对此有解决方案吗?由于WebSocket不可用,您需要使用类似长轮询的设计模式。您可以使用像Signal这样的库,而不是自己构建它。SignalR是一个ASP.NET库,但有一个Java客户端()这不是Web服务器的工作方式,大多数情况下。本质

我想开发一个Java服务器,它能够以带有JavaScript的网站的形式向客户端异步发送消息。我知道一种可能性是使用WebSocket,但IE 9不支持这些

为了将消息从客户端传输到服务器,我可以使用AJAX调用,服务器端可能有一个RESTful接口


有人对此有解决方案吗?

由于WebSocket不可用,您需要使用类似长轮询的设计模式。您可以使用像Signal这样的库,而不是自己构建它。SignalR是一个ASP.NET库,但有一个Java客户端()

这不是Web服务器的工作方式,大多数情况下。本质上是一种体系结构:

HTTP在客户机-服务器计算模型中充当请求-响应协议。例如,web浏览器可以是客户端,而在承载网站的计算机上运行的应用程序可以是服务器。客户端向服务器提交HTTP请求消息。服务器提供HTML文件和其他内容等资源,或代表客户端执行其他功能,并向客户端返回响应消息

也就是说,有一些技术可以用来实现这一点。阅读这里有关Comet和Reverse AJAX的内容:


当最终用户支持Java服务器时,最好将其实现为Websocket服务器。对于不支持Websocket的用户,它应该退回到长轮询 此行为将尽可能避免由于长轮询通信而产生的不必要的开销。
好的是,您不必从头开始实现所有这些行为。您可以随时嵌入并使用可靠的开源实现。
一个这样的实施是。CometD项目已有十多年的历史,它已经发展到可以解决大多数问题。

如果你正在寻找商业产品,有很多。其中之一就是lightstreamer()。

对于最近遇到这个问题的人来说,所有浏览器都支持的现代答案(截至2021年初)(IE除外,甚至微软也放弃了IE,转而支持Chromium-powered Edge)。为web客户端提供发布/订阅模型的最优雅和标准化的解决方案。

socket.io使用ajax,如果WebSocket不可用(或flash),您可以通过普通套接字进行通信,并在web端执行ajax调用,这可能与