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