1

我有一个交互式网页,在用户交互时会向服务器发出异步请求(加载图像、数据等)。

作为最后阶段,我正在实现 JavaScript 代码,以便正确处理服务器太忙或发生网络拥塞且请求未得到满足的情况。

在开发过程中,服务器和客户端(浏览器)都在开发机器(localhost)上运行。

为了测试代码,我必须在本地开发机器上模拟这些情况。

我可以轻松模拟“服务不可用”响应。

但是我怎样才能模拟“完全没有反应”呢?

正在放置

sleep(3600);

php在请求足够达到我需要模拟的内容时执行的开始?

还是有什么东西会回到浏览器?

有没有更好的方法在服务器可用性较差的情况下测试浏览器端代码?

编辑

一种选择是按照Dave在他的回答中的建议关闭在 localhost 上运行的服务器。

我宁愿——如果可能的话——避免这种情况。

我希望能够错过一些请求并满足其他一些请求。

这背后的想法是,在浏览器上运行的客户端 JavaScript 代码将重试失败的请求。

服务器模拟一个请求不可用,客户端重试,服务器给出响应......

4

1 回答 1

1

您遇到这些的唯一方法是,如果您的异步请求的 javascript 是从服务器调用数据/文件,而不是服务器推出您的主页面。因此,例如,如果您仅运行单个 apache 实例,那么您将永远不会遇到网络拥塞或不可用的情况。例如,如果您将 apache 作为您的主要 Web 服务器,并将 nginx 作为您的内容服务器在不同的端口上运行,那么要对其进行测试,只需停止 nginx 为您的内容提供服务。

如果您的意思是要从用户的角度测试您的 Web 服务器处于脱机状态,但他们的客户端仍在处理/运行 javascript(假设您的服务器在初始加载/请求时处于联机状态),则在浏览器中加载页面并停止您的网络服务器然后等待它在客户端出错。当然,您需要重新启动 Web 服务器以重新加载文件并在更改后重新测试。

于 2014-04-19T19:09:26.887 回答