안드로이드 개발 질문/답변
(글 수 45,052)
사용기종은 갤3이고
어플 sdk버전은 2.3.3기반입니다.
간단한건데 이해가 안되서 질문드립니다.
C# 서버에서 파일을 수신받는데 (한번에 다 쏩니다.)
안드로이드에서 수신이 끝난후 먹통이 됩니다. 파일은 정상적으로 받아졌습니다.
로그켓에서 아무것도 뜨지 않고...
디버깅 해보니 수신이 완전히 끝난후 while문의 조건문에서 바로 GC가 작동되며 디버깅이 멈춰버립니다.....
스트림으로 데이터를 한번에 받아서 그런건가요?
이해가 되지 않습니다 ㅠㅠ 도와주세요 ㅠㅠ
public getStreamPicture(Socket sock){ try{ InputStream in = sock.getInputStream(); FileOutputStream fos; File file = new File(android.os.Environment.getExternalStorageDirectory().getAbsolutePath() + "/temp.jpg"); if(!file.exists()) file.createNewFile(); byte[] buffer = new byte[1024]; fos = new FileOutputStream(file); int len= 0; while((len = in.read(buffer)) != -1){ fos.write(buffer, 0, len); fos.flush(); } Log.e("a", "d"); fos.close(); }catch(Exception e) { e.getStackTrace(); } }
자답입니다..
소켓을 생성해서 받앗는데
서버쪽에서 소켓을 끊어버리니 원할하게 작동하네요
어차피 메모리관리는 GC가 해주니.. @_@;;;;
질문하자마자 자답해버렷습니다!