【问题标题】:Asynchronous Servlet Client, Server push异步 Servlet 客户端,服务器推送
【发布时间】:2011-06-15 13:13:39
【问题描述】:

大家好,我想处理一些服务器推送。我有一个异步 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 那样容易,但也许有人有一个想法。

问候阿列克斯

【问题讨论】:

    标签: javascript servlets asynchronous client server-push


    【解决方案1】:

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

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

    【讨论】:

    • 嗨 Waldheinz,我同意 iframe 的想法有点不干净。但是您向我指出了我想要的解决方案(XMLHttpRequest)。这正是我所寻找的。非常感谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-08-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-27
    • 2012-08-07
    • 2015-06-26
    相关资源
    最近更新 更多