如何解决安卓应用的服务器响应问题
Posted
技术标签:
【中文标题】如何解决安卓应用的服务器响应问题【英文标题】:How to solve server response issue for android apps 【发布时间】:2018-05-01 15:37:40 【问题描述】:当我将 android 应用程序重定向到我的本地 xampp 服务器时,我得到了来自服务器的预期输出。如下所示
问题是当我将我的应用程序重定向到真实 IP 或出现域服务器问题时。这是我的代码。
protected String doInBackground(String[] paramparameterForURL)
try
//serv_url="http://www.eurekabd.com";//shakil/"+paramparameterForURL[0];
URL url = new URL("http://www.eurekabd.com/shakil/home.php"/*serv_url*/);
//URL url = new URL("http://192.168.0.109/shakil/shakil.php"/*serv_url*/);
//URL url = new URL("http://144.48.2.11/shakil/shakil.php"/*serv_url*/);
JSONObject postDataParams = new JSONObject();
postDataParams.put("name", "abhay");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setReadTimeout(300 /* milliseconds */);
conn.setConnectTimeout(300 /* milliseconds */);
//conn.setRequestMethod("GET");
conn.setDoInput(true);
conn.setDoOutput(true);
OutputStream os = conn.getOutputStream();
BufferedWriter writer = new BufferedWriter(
new OutputStreamWriter(os, "UTF-8"));
writer.write(getPostDataString(postDataParams));
writer.flush();
writer.close();
os.close();
int responseCode=conn.getResponseCode();
if (responseCode == HttpsURLConnection.HTTP_OK)
BufferedReader in=new BufferedReader(new InputStreamReader(conn.getInputStream()));
StringBuffer sb = new StringBuffer("");
String line="";
while((line = in.readLine()) != null)
sb.append(line);
break;
in.close();
return sb.toString();
else
return new String("false : "+responseCode);
catch(Exception e)
return new String("Exception: " + e.getMessage());
问题是
1.Server WWW.eurecabd.com 返回异常 NULL,如下所示
2.real ip 服务器返回空,如下所示
如何解决问题或问题是什么?是编码还是网络协议?
【问题讨论】:
【参考方案1】:问题是不同服务器的响应,你也应该修改这个:
conn.setConnectTimeout(300 /* milliseconds */);
300 毫秒对于连接超时来说太短了,请记住以毫秒为单位。
【讨论】:
我之前测试过我的应用程序。经过所有计算,我将时间限制为 300 毫秒。尽管服务器在 255 毫秒内响应。兄弟我还有什么可以做的吗? 在您的网络浏览器中检查服务器响应 如果服务器响应是这样的有什么问题。Array ( [0] => 1235 [1] => 1238 ) 2以上是关于如何解决安卓应用的服务器响应问题的主要内容,如果未能解决你的问题,请参考以下文章
如何使用mockito在安卓系统中创建模拟api响应[关闭]。
用户无法在 Play 商店同时安装安卓应用。如何解决这个问题?