1

大家好,我想处理一些服务器推送。我有一个异步 servlet 处理某些内容,将其推送到客户端,然后它处理其他内容并将其再次推送到客户端(相同的连接)。servet 仅返回数据(在这种情况下为 Json,但这并不真正数学)仅此而已。

所以我的问题是客户。我如何为此建立客户?例如,如果我使用 JQuery 发出 ajax 请求,我该如何对第一次响应之后的数据做出反应?

为了更清楚地说明我在这里想要的是一个比较:使用 websockets 我有方法 onmesssage。

websocket ws = new WebSocket("ws://myserver.com");
ws.onmessage = function(event)
{
   var x = event.data
   .... // some other code here
}

所以我想要的只是一个 onmessage 方法:)。我想这并不像使用 websockets 那样容易,但也许有人有一个想法。

问候阿列克斯

4

1 回答 1

0

您可以让您的服务器生成一个响应,该响应由客户端加载到隐藏的 iframe 中。生成的响应将包含偶尔调用“外部”(包含文档)的 JavaScript 语句。您可以使用parent.

但请不要认为这种技术非常老套(至少在我看来)。您可能需要重新考虑仅使用 XMLHttpRequest,尤其是因为它为您提供了简单而强大的错误处理。您可以只做更多请求(而不是在服务器端附加到“旧”响应)。这可能会引入额外的延迟,但这种 iframe 技巧在实践中确实很麻烦。

于 2011-06-15T13:21:46.197 回答