繁体   English   中英

Android Java:通过套接字接收图像

[英]Android Java: Receive Image over Socket

我在套接字上有一个通讯应用程序。 客户端将图像发送到服务器:

ByteArrayOutputStream stream = new ByteArrayOutputStream();
        bmp.compress(Bitmap.CompressFormat.PNG, 100, stream);
        byte[] byteArray = stream.toByteArray();
        OutputStream os;
        try {
            os = MyClient.socket.getOutputStream();
            os.write(byteArray,0,byteArray.length);
            os.flush();

在服务器端,我想接收图像,但此刻它仅显示许多不同的字符。 如果客户只是发送文本,我会收到:

BufferedReader input = new BufferedReader(new InputStreamReader(s.getInputStream()));
String text = input.readLine();

但是,如何在服务器端“解码” byte []?

类似于您发送该图像的方式。 只需使用一个InputStream对象,像这样:

InputStream stream = socket.getInputStream();
byte[] data = new byte[MAX_SIZE];
int count = stream.read(data);

这两个对象(发送和接收)都以这种方式兼容,您只需要知道byte数组的大小,两个地方的大小必须相同。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM