我正在创建一个内置于 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 connection to
``http://192.168.1.2:1924..... refused
供您参考.. 当我使用模拟器并将 IP 地址更改为 10.0.2.2 时,此代码运行成功。
当我访问托管的在线 Web 服务时,此代码也会成功运行。只有当我以本地方式运行 Web 服务并尝试使用笔记本电脑的 IP (192.168.1.2) 使用 Android 设备访问它时,它才会失败。
我正在使用WIFI。
我该如何解决这个错误?