我通过android应用程序中的套接字接收图像,我做了调试,当我要在Drawable d中保存图像时,程序等待发生的事情。 我认为它必须与clientSocket.getInputStream();或与插座。 我有一个C ++的多线程服务器,当我停止服务器时,android应用程序继续,我可以看到我之前发送的图像。但是,我认为这不是服务器问题,因为服务器中的套接字发送数据并显示消息printf(“Bytes enviados%d \ n”,bytesEnviados);它位于服务器代码的末尾。
这里有代码:
public Drawable mandaMensajeVideo(String mensaje, String ip, int puerto ) throws IOException{
Socket clientSocket = new Socket(ip, puerto);
DataOutputStream outToServer = new DataOutputStream(clientSocket.getOutputStream());
outToServer.writeBytes(mensaje);
outToServer.flush();
InputStream inputStream = clientSocket.getInputStream();
Drawable d = Drawable.createFromStream(inputStream, null);
clientSocket.close();
outToServer.close();
return d;
}
谢谢!
答案 0 :(得分:0)
听起来永远无法达到inputStream
的结尾,因为您从未正确关闭通讯。