2012-01-16 72 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) {}