1

我正在尝试通过套接字从python服务器向android客户端发送一个文件(具体为png)。我知道我的 python 服务器正在发送数据,我只是不知道如何在 android 端接收数据。这是接收文件的代码。

    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);

感谢您的任何建议。

4

1 回答 1

1

您正在从 1K 块中读取套接字并将它们保存到文件中。然后您尝试将最后一个块解释为位图。这行不通。

保存后从文件中读取图像,或者将其全部缓冲在内存中。

于 2012-09-11T20:16:16.523 回答