제목 | 모바일에서 큰 용량의 데이터 전송 시 문제 | ||
---|---|---|---|
카테고리 | 서버 | ||
글쓴이 | 주말생각 | 작성시각 | 2021/03/31 17:31:42 |
|
|||
안드로이드 앱에서 용량이 큰 pdf을 서버로 보내주는 기능이 있고 서버에서는 해당 pdf파일과 서버에 저장될 파일의 위치 및 사용자의 아이디를 받습니다. 서버에서 제한한 파일 사이즈보다 크면 업로드가 되지 않고 사이즈초과 메세지를 앱으로 보내는 기능을 만들었고 잘 작동합니다. 그리고 사이즈 초과 체크 전에 앱에서 아이디를 db에 있는 아이디가 맞는지 확인하고 없으면 파일을 업로드하지 않고 아이디가 없다는 메세지를 보냅니다. 그런데 매우 큰 파일을 업로드 할 시에 아이디가 없다는 메세지를 앱에 보내줍니다. DB에는 해당 아이디가 엄연히 존재하고요. url로 디버깅을 하려고 해도 파일은 어떠한 문자열로 보내주는지 알 수 없어서 디버깅도 쉽지가 않네요.
중간에 서버와의 통신이 끊어질 수도 있는 건가요? |
|||
다음글 | 개발에서 용어 casting (2) | ||
이전글 | smtp 메일 발송 (1) | ||
변종원(웅파)
/
2021/03/31 23:20:44 /
추천
0
|
테러보이
/
2021/04/01 09:40:56 /
추천
0
안드로이드 앱의 경우 로그 캣을 통하여 디버깅이 가능합니다. 대용량 문제라면 청크 업로드도 고려해보심이 좋을듯합니다. |
주말생각
/
2021/04/01 13:31:19 /
추천
0
지금 의심이 드는 점이 max_input_time 입니다. max_input_time의 값이 30으로 되어 있는데, 서버에 업로드 할 떼, 30초 이상이 걸리더라고요. 그래서 파일하고 같이 전송해주는 아이디값도 못 받아서 아이디 값이 없으니 앱으로부터 아이디가 없다는 메시지를 보내는 것 같습니다. |
주말생각
/
2021/04/01 15:48:30 /
추천
0
max_input_time의 문제도 아니었네요. 용량 제한의 문제도 아닌 것 같고, 대용량일 때, 왜 용량 체크하고 용량 불가 메세지를 보내주지 않고 서버와의 통신이 끊기는 지 모르겠네요. |
변종원(웅파)
/
2021/04/02 10:08:26 /
추천
0
주말생각/ 로그확인 해보셨어요?
|
주말생각
/
2021/04/02 11:17:43 /
추천
0
로그까지 확인은 해보지 않았는데, 해결은 했습니다. 이제까지 서버 설정을 마스터가 아니라 로컬만 변경했는데, 마스터까지 변경을 해야 하더라고요. 마스터까지 변경하니 웅파님 말씀대로 php.ini의 허용전송량 초과로 서버와 앱의 통신이 끊어진 것이었습니다.
|
php.ini의 허용전송량을 초과하면 끊어질 수도 있습니다. (https://conory.com/blog/44009 주요 3가지 값이 있습니다)
파일 크기 체크는 이중으로 하셔야 합니다. 앱에서 체크해서 먼저 올리지않도록 하는게 서버 리소스를 절약하는 방법입니다.
우회하여 서버에 전송하는 경우를 방지하기 위해 서버에서도 체크를 해야하구요.