0
我想編寫一個函數,通過發送請求的請求來監聽服務器。在從第一個請求收到響應之前,不應將下一個請求發送到服務器。爲了模擬這一點,我寫了下面的代碼,它發送連續的GET請求,服務器5倍:如何發送連續的獲取請求
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//setContentView(R.layout.main);
TextView tv = new TextView(this);
for (int i = 0; i < 5; i++)
{
tv.setText(retrieve("http://www.mydomain.com/http.php?key=" + i));
setContentView(tv);
}
}
「字符串檢索(字符串URL){...}」是返回URL的內容,在這種情況下功能只是下面的PHP文件(「http.php」)發送一個數字:
<?php
sleep(1);
echo $_GET['key']+1;
?>
雖然我放1秒的睡眠,看在我的Android應用價值,我唯一看到的是「5」幾秒鐘後, 。那麼這5個請求是異步的,還是它們是連續的,還是存在另一個問題?
,但我希望它是synchoronus,我意思是,第二個請求不應該被髮送,直到從服務器接收到第一個響應(我是吧?)。因此,是這樣的循環行嗎? – Mehmed 2012-03-01 14:36:15
我給你的選項是推薦的選項。如果您閱讀代碼,您可以看到onPostExecute方法。這在請求完成時被調用,所以它可以按照你的想法工作。 你也可以用你的方式使用線程做一個循環: – 2012-03-01 14:47:53
謝謝你的解決方案,這是你說的最好的方式...我也想知道你有關收聽服務器的想法嗎?我認爲這個http get不是一個真正的解決方案。 – Mehmed 2012-03-01 16:30:04