
로그를 넣어서 시간을 구간별로 찍어보시고 어디가 느린건지 확인해보세요
참고로 통신하는 부분은 무조건 스래드 생성해서 해야하며
간단한 값하나 가져오는건 3G로 해도 1~2초 이상 안걸리는게 보통입니다.
말씀 하신대로 해보았는데요
역시나 가져오는 부분에서 시간이 오초에서 6초 정도 걸립니다.
역시나 스레드 돌렸구요
스레드 안에서 이게 돌아가거든요
소스 첨부 합니다.
public void HttpPostData() {
try {
// --------------------------
// URL 설정하고 접속하기
// --------------------------
// 회사서버 테스트 버전 주소
URL url = new URL("
"여긴 서버 주소"); // URL
HttpURLConnection http = (HttpURLConnection) url.openConnection(); // 접속
http.setDefaultUseCaches(false);
http.setDoInput(true);
http.setDoOutput(false);
http.setRequestMethod("POST");
http.setRequestProperty("content-type",
"application/x-www-form-urlencoded");
// --------------------------
// 서버에서 전송받기
// --------------------------
InputStreamReader tmp = new InputStreamReader(
http.getInputStream(), "EUC-KR");
BufferedReader reader = new BufferedReader(tmp);
StringBuilder builder = new StringBuilder();
String str;
while ((str = reader.readLine()) != null) {
builder.append(str + "\n");
}
return_server_result_ver = builder.toString();
Log.d("STEPI", "return_server_result_ver -> "
+ return_server_result_ver);
Log.d("STEPI", str + "");
} catch (MalformedURLException e) {
Log.d("STEPI", "MalformedURLExceptionMalformedURLException");
} catch (IOException e) {
Log.d("STEPI", "IOExceptionIOException");
}
} // HttpPostData
주소 입력 다되어 있고 값도 불러 오지만 단지 느립니다.
느린걸 해결 해야 하는데 모르겠네요 ㅠㅠ;
3G 로도 6초 걸린다면 제가 말씀드린건 신경안쓰서도 되고요
저두 비슷한 문제 때문에 밤샌적이 있어서요
서버에서 클라이언트로 로직 처리후 응답 던지는 시간은 1초도 안걸리는데
클라이언트에서 응답 받는 시간은 1분도 넘게 걸리더라고요
별 쌩쑈를 다하다가
클라이언트에 연결되어 있는 공유기를 껏다가 켜니까
문제가 클리어 되었습니다.
혹시나 로직이나 그런 류의 문제보다는 환경적인 문제가 있을 거 같아서요
3G로도 그렇다면 할말 환경 문제는 아닐꺼구요
일단 스플레쉬를 넘기는 핸들러를 통신이 모두 이루어진뒤에 넘어가게 만들어야 겠네요....
인터넷 환경이라는 넘이 항상 내가 원하는 시간에 이루어 지지는 않으니까요...
그리고 6초라는 시간을 줄일 방법은 딱하니 알려 드릴 방법이 없습니다...
서버에 문제가 있을 수도 있고.... 테스트 환경이 인터넷이 무지하게 느릴 수도 있고요.....
아니면 혹시 모를 어플단에서의 문제 일 수도 있구요,,,,,