我从intenet获得了以下代码
public boolean isConnectedToServer(String url, int timeout) {
try {
URL myUrl = new URL(url);
URLConnection connection = myUrl.openConnection();
connection.setConnectTimeout(timeout);
connection.connect();
return true;
} catch (Exception e) {
// Handle your exceptions
return false;
}
}
每当我打电话给这个方法时:
System.out.println(isConnectedToServer("192.168.1.65",5));
输出仍然是false
,我可以轻松访问我的网络服务文件,因此有连接到这个IP但我无法检查ip是否可以访问,有什么想法吗?
PS:使用本地IP地址只是为了连接到我的XAMPP服务器
错误:
java.net.MalformedURLException: Protocol not found: 192.168.1.65
答案 0 :(得分:1)
你的ip有问题。尝试使用http://ip ...网址不是URI。
请参阅此代码并查看其是否有效:
然后你会遇到另一个问题。它是您正在使用的线程。您正在主线程上执行此代码,这会生成异常。
您的第二个问题:Network on main thread exception
使用异步任务解决此问题。
参考:Asynctask