2012-01-16 71 views
1

我使用JAVA生成一个POST请求到一个PHP页面(例如:192.168.1.2/index.php)我想在30秒后得到RESPONSE消息。如果可能的话,请给我解决方案。 非常感谢您的帮助是否有可能在PHP中延迟HTTP响应?

+0

只是好奇,为什么,你担心超时问题? – 2012-01-16 15:35:48

+0

为什么在PHP方面呢?撇开运行30秒的服务器端脚本的影响,您应该将业务逻辑包含在应用程序中,而不是外部资源。也就是说,把延迟放在Java端。 – 2012-01-16 15:36:57

+0

Facebook使用他们的客户端数据请求执行此操作,实质上是发送请求并“等待”服务器进行响应。它可以用作一种推送请求。 – 2012-01-16 15:38:08

回答

6

在你的PHP脚本的顶部:

<?php 

    set_time_limit(0); 
    sleep(30); 

    // Do stuff here 
+0

http://php.net/manual/en/function.sleep.php – clyfe 2012-01-16 15:37:42

4
sleep(30) //wait 30 seconds 

只要确保你有你的max_execution_time设置为在php.ini足够高的值,否则脚本将在完成之前退出

0

您可以使用sleep()来实现您所问的内容。

请注意,使用硬编码延迟就像您所建议的将最有可能导致设计不佳。

如果您在等待客户端发生的事情,我建议使用ajax发出通知。

1

在您的Java应用程序

try { 
     Thread.sleep(30000L); // 30s 
     // POST REQUEST 
    } 
    catch (Exception e) {}