我有一个与服务器建立连接的应用程序(客户端),我尝试向此应用程序(客户端)发送一个特定的命令字符串,并且该命令在客户端上获得成功,但仅在& #34;中断"例如,在线程上:当关闭服务器或者打破此循环线程时。
所以,我的目标是让这个特定的命令字符串在Thread内部正常接收而不会出现任何类型的"中断"在线外。
欢迎任何建议。
Android代码
class CommsThread implements Runnable {
@Override
public void run() {
try {
while(clientSocket.isConnected() && !Thread.currentThread().isInterrupted()){
//System.out.println("Waiting for server request");
BufferedReader reader = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
String message = reader.readLine();
if(message != null && !message.trim().isEmpty()) {
// Don't executes on moment that i send, only after of a "interruption" in this Thread
System.out.println("Message Received: " + message);
// Specific command string here to execute a foo() method
if(message.equalsIgnoreCase("foo")){
// foo();
}
////////////////////////////////////////////////////////////////////////////////////
}
reader.close();
//clientSocket.close();
if(message.equalsIgnoreCase("exit")) break;
Thread.sleep(100);
}
System.out.println("Shutting down Socket!!");
clientSocket.close();
} catch (Exception e1) {
//Log.e("clients", e1.toString());
//Toast.makeText(MainActivity.this, e1.toString(), Toast.LENGTH_LONG).show();
System.out.println(e1.toString());
}
}
}