[英]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.