首先,我会告诉你我该怎么做:
我可以使用计算机IP将我的真实设备连接到我网站上的servlet
我可以使用10.0.2.2 IP将我的模拟器连接到我的网站上的servlet
我可以使用10.0.2.2 IP
我的问题。
我无法将我的真实设备连接到网络服务;
我试过这个(它适用于模拟器);
public class Client {
private String server;
public Client(String server) {
this.server = server;
}
private String getBase() {
return server;
}
public String getBaseURI(String str) {
String result = "";
try {
HttpParams httpParameters = new BasicHttpParams();
int timeoutConnection = 3000;
HttpConnectionParams.setConnectionTimeout(httpParameters, timeoutConnection);
int timeoutSocket = 5000;
HttpConnectionParams.setSoTimeout(httpParameters, timeoutSocket);
DefaultHttpClient httpClient = new DefaultHttpClient(httpParameters);
HttpGet getRequest = new HttpGet(getBase() + str);
getRequest.addHeader("accept", "application/json");
HttpResponse response = httpClient.execute(getRequest);
result = getResult(response).toString();
httpClient.getConnectionManager().shutdown();
} catch (Exception e) {
System.out.println(e.getMessage());
}
return result;
}
public String getBaseURIText(String str) {
String result = "";
try {
HttpParams httpParameters = new BasicHttpParams();
int timeoutConnection = 3000;
HttpConnectionParams.setConnectionTimeout(httpParameters, timeoutConnection);
int timeoutSocket = 5000;
HttpConnectionParams.setSoTimeout(httpParameters, timeoutSocket);
DefaultHttpClient httpClient = new DefaultHttpClient(httpParameters);
HttpGet getRequest = new HttpGet(getBase() + str);
getRequest.addHeader("accept", "text/plain");
HttpResponse response = httpClient.execute(getRequest);
result = getResult(response).toString();
httpClient.getConnectionManager().shutdown();
} catch (Exception e) {
System.out.println(e.getMessage());
}
return result;
}
private StringBuilder getResult(HttpResponse response) throws IllegalStateException, IOException {
StringBuilder result = new StringBuilder();
BufferedReader br = new BufferedReader(new InputStreamReader((response.getEntity().getContent())), 1024);
String output;
while ((output = br.readLine()) != null)
result.append(output);
return result;
}
}
然后我这样称呼客户:
Client client = new Client("http://46.57.164.64:8080/test2/eattel/");
client.getBaseURI("image/image");
这完全适用于模拟器。但现在我的真实设备:(
我使用电缆将我的真实设备连接到计算机。
我的计算机和我的设备已连接到connectify-me
无线网络。
请帮助
我确信这是关于IP的事情
答案 0 :(得分:2)
我认为这里出了什么问题,你是通过电缆连接电脑和真实设备。您的真实设备应连接到无线网络连接WiFi。您的计算机也应通过电缆或WiFi连接无线网络。然后,在Real Device的Internet浏览器中键入计算机IP地址后,您应该能够看到计算机上运行的服务器的主页。如果即将到来,您的应用程序可以与计算机中的Web服务进行通信。如果不是这意味着您的IP地址未正确设置无线网络。您可能必须重新启动无线网络并再次尝试。
答案 1 :(得分:0)
您是否尝试发现用于连接连接的计算机IP地址? 如果您使用的是Windows操作系统,请转到命令提示符,键入ipconfig并搜索无线LAN适配器本地连接下的ipv4地址。如果使用connectify
,通常以192.168.xxx.xxx开头