1
파이썬 서버에서 안드로이드 클라이언트로 소켓을 통해 파일 (특정 png)을 보내려고합니다. 내 파이썬 서버가 데이터를 보내는 것을 알고, 나는 안드로이드 측면에서 데이터를 수신하는 방법을 알아낼 수 없습니다. 다음은 파일을받는 코드의 모양입니다.android tcp 클라이언트 파일 받기
String path = Environment.getExternalStorageDirectory().toString() +"/tmp/test.png";
try {
socket = new Socket("192.168.1.129", 29877);
is = socket.getInputStream();
out = new FileOutputStream(path);
byte[] temp = new byte[1024];
for(int c = is.read(temp,0,1024); c > 0; c = is.read(temp,0,1024)){
out.write(temp,0,c);
Log.d("debug tag", out.toString());
}
Log.d("debug tag", temp.toString());
Bitmap myBitmap = BitmapFactory.decodeByteArray(temp, 0, temp.length);
imageView.setImageBitmap(myBitmap);
어떤 조언을 주셔서 감사합니다.
어떻게 메모리에 전체를 버퍼링하겠습니까? 예? – user1661396
'java.io.ByteArrayOutputStream'과 같은 것을 사용할 수 있습니다. http://docs.oracle.com/javase/6/docs/api/java/io/ByteArrayOutputStream.html –
와우 멋쟁이, 내가 마지막 덩어리 만 읽으려고한다는 것을 깨닫지 못해 ... 어리석은 ... 고마워. – user1661396