Web サービスのアドレスに ping を実行する機能を実装したいと考えています。true が返された場合、アプリケーションは Web サービスを介して実行されます。それ以外の場合は、デバイスのデータベース (sqlite) が使用されます。
コードを書きましたが、
public boolean lookfunc()
{
String name1=name;
boolean reachable=false;
try {
InetAddress address = InetAddress.getByName("192.168.1.56");
reachable = address.isReachable(3000);
System.out.println("address.isReachable(3000)"+reachable);
}
catch (UnknownHostException e){
System.err.println("Unable to lookup ");
}
catch (IOException e){
System.err.println("Unable to reach ");
}
catch(Exception e1){System.out.println("Exception raised");}
return reachable;
}
アドレス 192.168.1.56 はコマンド プロンプトで ping を実行していますが、ここのコードでは常に false を返します。
また、Web サービスの URL はhttp://192.168.1.56:8080/WIP/services/ConnectionDAO?wsdlであり、ここでも UnknownHostException がスローされます。