【发布时间】:2012-03-31 17:41:08
【问题描述】:
我有一个工具,它需要一分钟到几个小时不等的时间。我想编写一个 Web 应用程序以使用户能够从网页运行该工具。由于每个工具运行需要更长的时间,我想从网页发送工具运行请求,然后我想用状态信息更新页面。为了更新状态信息,客户端必须轮询服务器。服务器有什么方法可以在没有请求的情况下向客户端发送状态消息
【问题讨论】:
标签: javascript html ajax http
我有一个工具,它需要一分钟到几个小时不等的时间。我想编写一个 Web 应用程序以使用户能够从网页运行该工具。由于每个工具运行需要更长的时间,我想从网页发送工具运行请求,然后我想用状态信息更新页面。为了更新状态信息,客户端必须轮询服务器。服务器有什么方法可以在没有请求的情况下向客户端发送状态消息
【问题讨论】:
标签: javascript html ajax http
您可以使用 web-sockets,这是客户端和服务器之间保持打开状态的两种通信方式,允许服务器在没有客户端请求的情况下发送。然而,网络套接字是新的,浏览器支持仅适用于最新的浏览器。
socket.io 是一个很棒的 Web 套接字库,如果不支持,可以回退到 AJAX 和 flash。
除此之外,服务器向客户端发送数据的唯一其他方式是在客户端发送请求之后。有一些方法使用来自客户端的 AJAX 轮询来检查来自服务器的更新。
【讨论】:
尝试使用 DWR 进行反向 AJAX 调用!
查看click 以获取演示和源代码
【讨论】: