我正在创建一个用Visual Basic 2010构建的服务器,该程序可以向我使用的数据库中插入/更新/删除.我创建了一个本地Web服务,该服务用于将服务器上的数据库与Android中的数据库同步.
我使用以下Android代码:
package com.zelacroix.bukumenu;
import java.io.IOException;
import java.io.InputStream;
import org.apache.http.*;
import org.apache.http.client.*;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.conn.ConnectTimeoutException;
import org.apache.http.params.*;
import org.apache.http.impl.client.DefaultHttpClient;
import android.app.Activity;
import android.os.Bundle;
import android.widget.Toast;
public class Sinc extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.sinc);
Toast.makeText(getApplicationContext(), getKategori(), 5).show();
}
public String getKategori(){
HttpParams httpParameters = new BasicHttpParams();
HttpConnectionParams.setConnectionTimeout(httpParameters, 60000);
HttpConnectionParams.setSoTimeout(httpParameters, 60000);
HttpClient client=new DefaultHttpClient(httpParameters);
HttpPost httpPost = new HttpPost("http://192.168.1.2:1924/TugasAkhir/Service.asmx/getKategori");
HttpResponse response;
String result="";
try
{
response=client.execute(httpPost);
HttpEntity entity= response.getEntity();
DataHandler dataHandler = new DataHandler();
if (entity!=null)
{
InputStream instream = entity.getContent();
result = dataHandler.convertStreamToString(instream);
instream.close();
}
} catch (ConnectTimeoutException e) {
e.printStackTrace();
Toast.makeText(getApplicationContext(), e.toString(), 100).show();
} catch (IOException e) {
e.printStackTrace();
Toast.makeText(getApplicationContext(), e.toString(), 100).show();
}
return result;
}
}
我得到一个错误:
org.apache.http.conn.httphostconnectexception连接到
“http://192.168.1.2:1924 …..拒绝
供你参考..
当我使用仿真器并将IP地址更改为10.0.2.2时,此代码将成功运行.
当我访问托管的在线Web服务时,此代码也成功运行.
仅当我以本地方式运行Web服务并尝试使用笔记本电脑的IP(192.168.1.2)使用Android设备访问Web服务时,该服务才会失败.
我正在使用WIFI.
如何解决此错误?