곰곰히생각해곰
173
2019-06-28 15:11:50
5
219

안드로이드 HTTP POST 관련 문제 질문입니다!


지금 Tmap api를 사용하여 지도 경로에 좌표를 받아오는 기능을 구현하고있습니다..


여기서 문제점! POST 요청하고 응답 메시지에 담겨오는 지도좌표값의 데이터 메시지가 온전히 넘어오지않고 4000바이트 정도로 끊겨서 온전히 사용을 못하는 상태입니다.(총 데이터의 값은 1만에서 2만)

그래서 Tmap api 문의 쪽에 혹시 문제가 있나 싶어서 문의해봤는데 제가 테스팅한 post 메시지와 url로 그쪽 측에서 디버깅을 해보았더니 아무런 문제가 없다는 것을 확인했습니다. 만약 내가 잘못 사용하고 있을수 있어서 그쪽에서 사용한 방식대로 코드를 가져다가 썻는데 아니나 다를까 결과가 동일하게 데이터가 온전히 넘어오지않고 있더군요..


도대체 무슨 문제일까요 이건..?

안드로이드 쪽 환경에서 무슨 잘못 해주었을까요..?

현재로써는 요청하는 코드는 문제가 없고 응답 메시지를 받는 부분에 코드도 크게 문제점이 없다고 판단한 상태입니다.

http://webs.co.kr/index.php?mid=http&document_srl=3314894

URL 커넥션 구현부분 코드는 이 부분을 현재 참고한 상황입니다.(문의측 답변도 이 코딩을 사용)

며칠째 꽁꽁 싸매고 있는 문제인데.. 도대체 어떤게 문제일까요..? 

조언 부탁드립니다..!!

0
0
  • 답변 5

  • Celsius
    630
    2019-06-28 15:27:41 작성 2019-06-28 15:28:13 수정됨

    1. 서버에서 모든 데이터를 안 보내주는 경우

    2. 모든 데이터는 클라이언트까지 도달했으나 여러가지 원인으로 제대로 처리 못한 경우


    둘 중 하나인데요


    일단 데이터가 잘 도달하는지부터 확인해보세요.


    추천 툴 : postman, fiddler

    -1
  • 곰곰히생각해곰
    173
    2019-06-28 15:32:14

    Celsius 아 그걸 안적어 놓았군요 포스트맨을 이용하고 TMAP API 쪽에 자체적으로 제공해주는 테스트를 이용해서 테스트를 진행했습니다, 데이터가 무리없이 잘 도달하는것을 확인했습니다!!

    0
  • Celsius
    630
    2019-06-28 15:39:37

    그럼 99% 안드로이드 http 코드 문제입니다.

    안드로이드 경험이 적으시면 다른 예제코드들로도 테스트를 진행해보세요.

    4000자가 넘는 것도 처리해주는 코드를 구하시면 되겠습니다.

    -1
  • 곰곰히생각해곰
    173
    2019-06-28 15:49:25 작성 2019-06-28 15:50:09 수정됨

    Celsius 코드 문제인건가요..? 일단 Tmap 문의 한 쪽에서 적용시킨 예제코드로 적용시켜봤는데 메시지짤리는 문제가 동일해서.. 그리고 아예 메시지 측에 데이터가 안넘어 오는것같은데.. 이부분을 수정하시라는 건가요?

    이 부분이 제가 올렸던 링크에 나와있는 코드인데.. 이코드에서 수정해야할 사항이 있나.. 싶기도 하고요...

    말씀해주신대로 일단 다른 예제들을 찾아보면서 적용시켜보겠습니다!!

    // [2-4]. 읽어온 결과물 리턴.
    // 요청한 URL의 출력물을 BufferedReader로 받는다.
    BufferedReader reader = new BufferedReader(new InputStreamReader(urlConn.getInputStream(), "UTF-8"));

    // 출력물의 라인과 그 합에 대한 변수.
    String line;
    String page = "";

    // 라인을 받아와 합친다.
    while ((line = reader.readLine()) != null){
    page += line;
    }

    return page;
    0
  • 곰곰히생각해곰
    173
    2019-06-28 17:55:20

    해결했습니다. 최종 원인은 로거 문제였고 다른 라이브러리르 찾아서 표현하니 문자열이 잘 넘어오는것이 확인되었습니다.. 이런 멍청한 이유로 며칠을 고민하다니.. 감사합니다.

    Json 파서 문제도 같이 껴있었습니다. 로거가 한번에 표현할수 있는데 4천 자라는 것을 깨닫고 초보 개발자 물러갑니다.

    0
  • 로그인을 하시면 답변을 등록할 수 있습니다.