サーバーがオンラインかオフラインかを確認する方法、およびオフラインの場合は、サーバーがオンになるまで接続を開始します。私はこれを試しました:
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;
}
アプリを起動する前にサーバーが実行されている場合、サーバーは正常に接続されますが、サーバーがオフになっているか、しばらくしてから切断された場合、エラーメッセージは表示されず、再接続も開始されません。これを解決するには?