Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/188.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何中断android服务器的while循环?_Android - Fatal编程技术网

如何中断android服务器的while循环?

如何中断android服务器的while循环?,android,Android,这是服务器代码的一部分。我有个问题,我不能打破这个无休止的循环。它是单独的类,处理客户端连接。如何可以使无限数量的客户端连接,但如果可能的话,单击按钮完成连接 public class Handler implements Runnable { public void run(){ .... //sockets try{ .... //socket while (true) { client = server.accept(); count++; Log.d("My

这是服务器代码的一部分。我有个问题,我不能打破这个无休止的循环。它是单独的类,处理客户端连接。如何可以使无限数量的客户端连接,但如果可能的话,单击按钮完成连接

public class Handler implements Runnable {

public void run(){
....
//sockets
try{
....
//socket

while (true) {

    client = server.accept();
    count++;
    Log.d("My Log", "Connected");
    Log.d("My Log", "log" + count);
    executor.execute(new Handler(client));
         }
    }
}   
而不是使用

while(true)
使用类似

while(myConditional)
{
    client = server.accept();
    count++;
    Log.d("My Log", "Connected");
    Log.d("My Log", "log" + count);
    executor.execute(new Handler(client));
}
button.setOnClickListener(new View.OnClickListener()
{
    public void onClick(View v)
    {
        myConditional = false;
    }
});
其中myConditional是一个布尔值,可以在UI线程中设置,类似

while(myConditional)
{
    client = server.accept();
    count++;
    Log.d("My Log", "Connected");
    Log.d("My Log", "log" + count);
    executor.execute(new Handler(client));
}
button.setOnClickListener(new View.OnClickListener()
{
    public void onClick(View v)
    {
        myConditional = false;
    }
});