如何检查服务器是在线还是离线,如果是离线开始连接直到服务器打开。我试过这个:
connectBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
new Thread(rConnection).start();
}
});
public Runnable rConnection = new Runnable() {
@Override
public void run() {
boolean status = connect();
while (!status)
{
System.out.println("Connection Status: " + status);
status = Connect();
}
}
};
public boolean Connect() {
boolean status = false;
try {
s = new Socket(SERVER_ADDRESS, TCP_SERVER_PORT);
System.out.println("Socket: " + s.toString());
if (s.toString() != "")
{
status = true;
}
} catch (UnknownHostException e) {
e.printStackTrace();
status = false;
s=null;
} catch (IOException e) {
e.printStackTrace();
status = false;
s=null;
} catch (NullPointerException e)
{
e.printStackTrace();
status = false;
s=null;
}
return status;
}
如果服务器在启动应用程序之前正在运行,它会成功连接,但如果服务器关闭或在一段时间后断开连接,我不会收到任何错误消息,并且不会再次开始重新连接。如何解决这个问题?