我正在启动Apache Derby Network Server - 10.10.2.0 - (1582446)并准备接受端口1527上的连接。
现在在我的Android应用程序端。我正在做这样的事情:
private class SendHttpRequestTask extends AsyncTask<String, Void, String> {
HttpURLConnection urlConnection = null;
@Override
protected String doInBackground(String... params) {
String startDate = params[1];
Log.e("START DATE :", "Start date " + startDate);
try {
Log.e("URL IS ",params[0]);
URL url = new URL(params[0]);
urlConnection = (HttpURLConnection) url.openConnection();
urlConnection.setRequestMethod("POST");
urlConnection.setDoInput(true);
urlConnection.setDoOutput(true);
Uri.Builder builder = new Uri.Builder()
.appendQueryParameter("startDate", startDate);
String query = builder.build().getEncodedQuery();
Log.e("BEFORE WRITE","its fine");
try {
OutputStream os = urlConnection.getOutputStream();
BufferedWriter writer = new BufferedWriter(
new OutputStreamWriter(os, "UTF-8"));
writer.write(query);
Log.e("AFTER WRITE", "not fine");
writer.flush();
writer.close();
os.close();
}
catch (Exception e){
Log.e("SILENT ERROR",e.toString());
}
}catch(Exception e){
Log.e("GETTING ERROR ",e.toString());
e.printStackTrace();
}
return null;
}
}
我使用的网址是:http://192.168.1.254:8080/GrabHouseServer/GetVisitTimeSlot。
我也看了172.0.0.1:8080但是无法建立连接。 192.168.1.254是我在mac机场实用程序获得的wifi地址。
但是我在记录器中得到了这个:
SILENT ERROR﹕ java.net.ConnectException: failed to connect to /192.168.1.254 (port 8080): connect failed: ETIMEDOUT (Connection timed out)
GETTING ERROR﹕ java.net.ConnectException: failed to connect to /192.168.1.254 (port 8080): connect failed: ETIMEDOUT (Connection timed out)
我错过了什么吗?请帮忙。
我在清单中也给予了许可。所以这不是问题。
答案 0 :(得分:0)
Apache Derby Network Server不会说HTTP协议;它说的是JDBC协议。
因此,您无法使用以下网址打开与Apache Derby Network Server的连接:http:&#34;方案
你可以打开一个&#34; http:&#34; Web服务器的URL。
然后您可以在该Web服务器(例如,Java servlet)中拥有一些代码,它们处理您的HTTP GET请求,然后通过JDBC连接到您的Derby Network Server,并检索一些数据,然后将数据发回作为HTTP响应。
但你必须自己构建中间件; Derby Network Server只是一个数据库服务器,而不是Web服务器。