У меня возникла странная проблема с моим Android-приложением. Я могу подключать и отправлять данные, когда я жестко кодирую IP-адрес своего сервера, но при попытке использовать имя хоста я получаю ошибки ниже. Я тестировал это через эмулятор Android на сервере Windows 2003. Я также убедился, что адрес начинается с http и что приложение использует разрешение Интернета. Любые идеи относительно того, почему это может быть? Например, я могу подключиться, когда я использую 123.45.678/test.php, но не имя_сервера/test.phpAndroid-приложение не может подключиться к имени хоста, но может подключиться к IP-адресу на сервере
06-12 17:02:30.360: I/Choreographer(642): Skipped 31 frames! The application may be doing too much work on its main thread.
06-12 17:03:07.670: I/Choreographer(642): Skipped 85 frames! The application may be doing too much work on its main thread.
06-12 17:03:07.810: I/Choreographer(642): Skipped 36 frames! The application may be doing too much work on its main thread.
06-12 17:03:16.200: W/System.err(642): java.net.UnknownHostException: Unable to resolve host "HOSTNAME": No address associated with hostname
Сообщение
public void postData(String Filename) {
// Create a new HttpClient and Post Header
HttpClient httpclient = new DefaultHttpClient();
if (!MainActivity.address.startsWith("https://") && !MainActivity.address.startsWith("http://")){
MainActivity.address = "http://" + MainActivity.address;
}
HttpPost httppost = new HttpPost(MainActivity.address);
HttpResponse response = null;
try {
// Add your data
//MainActivity.QRdata.replaceAll("\\s+","");
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
nameValuePairs.add(new BasicNameValuePair("data", "<data><serial><serial>SN001</serial></serial><items><item>Test1 = Failed</item><item>Test2 = Passed</item><item>Test3 = Passed</item></items></data>"));
nameValuePairs.add(new BasicNameValuePair("file", Filename));
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
// Execute HTTP Post Request
response = httpclient.execute(httppost);
String res = EntityUtils.toString(response.getEntity());
Log.v("Response = ", res);
} catch (ClientProtocolException e) {
e.printStackTrace();
// TODO Auto-generated catch block
} catch (IOException e) {
e.printStackTrace();
// TODO Auto-generated catch block
}
//return response.toString();
}
}
Ваш сервер работает? –
@Rod_Algonquin Да, я включил PHP и могу подключиться через браузер. – wheatfairies
Вы пытались подключиться к этому хосту через любое другое устройство, то есть ПК? И ваш хост действительно называется HOSTNAME ?! – nyarlathotep77