728x90
반응형
경험을 토대로 작성합니다.
애뮬레이터의 경우 서버와 통신을 할 때 오류코드가 500번이 노출되고 단말에서는 timeout으로 fali이 떴었는데,
timeout을 설정을 120초로 하여도 되질 않았다.
예시)
public void addCustomer(String token, String my_photo_title){
// timeout setting 해주기
OkHttpClient okHttpClient = new OkHttpClient().newBuilder()
.connectTimeout(30, TimeUnit.SECONDS)
.readTimeout(30, TimeUnit.SECONDS)
.writeTimeout(30, TimeUnit.SECONDS)
.build();
Retrofit retrofit = new Retrofit.Builder().baseUrl("http://43.200.13.213:8000/like/")
.client(okHttpClient)
.addConverterFactory(GsonConverterFactory.create()).build();
애뮬레이터와 단말의 차이가 없는 줄 알았는데 아니더라.
1. 시간 차이
시간을 파일명으로 통신하는 로직이라 ,local Koare 셋팅을 하고 시도하여도 다른 시간 값때문에 500번이 노출되었던 것이다.
애뮬레이터와 실제 단말에서는 시간이 다를 수 있기에 그 점을 참고 하길 바란다. (애뮬레이터의 경우 9시간을 추가해야함)
예시)
Date date = new Date();
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy_MM_dd_HHmm");
Log.i("time check", "===> "+dateFormat);
// String today = null;
//
// Date date = new Date();
//
// System.out.println(date);
//
// // 포맷변경 ( 년월일 시분초)
// SimpleDateFormat sdformat = new SimpleDateFormat("yyyy_MM_dd_HHmm");
//
// // Java 시간 더하기
//
// Calendar cal = Calendar.getInstance();
//
// cal.setTime(date);
//
// // 1시간 전
// cal.add(Calendar.HOUR, -1);
//
// today = sdformat.format(cal.getTime());
// System.out.println("1시간 전 : " + today);
//
// cal.setTime(date);
//
// // 하루 전
// cal.add(Calendar.HOUR, +9);
//
// today = sdformat.format(cal.getTime());
final File file = new File(Environment.getExternalStorageDirectory() + "/DCIM", ""+commonData.getInstance().GetLastLoginID()+"_" + dateFormat.format(date) + ".jpg");
2. 단말 문제
같은 갤럭시 8이였는데 다른 로그가 찍히더라 이 점은 다음 에러와 연관이 있다.
3. wifi 및 데이터 인터넷 통신 문제
갤럭시 폰의 차이점은 wifi였다. 신호가 약한 와이파이를 쓰고 있어서 였다.
이를 미루어보아 timeout이 뜨는 것도 wifi문제라고 할 수 있겠다.
이상입니다. 모르는 것 댓글로 아무거나 물어보세요 같이 궁금해 해드릴게요
728x90
반응형
'웹 & 앱 꿀 TIP' 카테고리의 다른 글
[android] editText에서 입력한 값 가지고 오기 (0) | 2022.06.16 |
---|---|
[android] cardview 안될 때 (0) | 2022.06.16 |
[android] url 이미지 안드로이드 activity에 띄우기 (1) | 2022.06.12 |
[android] 내가 겪은 retrofit 오류 및 설명 (0) | 2022.06.06 |
[android]_JAVA 스위치로 textview 색상변경, Color.parseColor 색상 투명도 주기 (0) | 2022.05.07 |