Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/182.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Drawable,从插座接收图像_Android_Sockets_Tcp_Drawable_Inputstream - Fatal编程技术网

Android Drawable,从插座接收图像

Android Drawable,从插座接收图像,android,sockets,tcp,drawable,inputstream,Android,Sockets,Tcp,Drawable,Inputstream,我通过android应用程序中的套接字接收图像,我进行了调试,当我要将图像保存在Drawable d中时,程序会等待发生什么。 我认为它必须与clientSocket.getInputStream()有关;或者用插座。 我有一个多线程服务器在C++中,当我停止服务器,Android应用继续,我可以看到我以前发送的图像。但是,我认为这不是服务器的问题,因为服务器中的套接字发送数据并显示消息printf(“Bytes enviados%d\n”,bytesEnviados);它位于服务器代码的末尾

我通过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;
}

谢谢

听起来好像从未到达
输入流的结尾,因为您从未正确关闭通信。

您是否关闭服务器端的连接,或以任何其他方式发出传输结束的信号?我没有空闲(ssock);在服务器端,但我不执行ssock.Close();但是我发送了另一种信息,比如字符串,然后在客户端接收到它。听起来好像永远不会到达
inputStream
的末尾,因为您从未正确地关闭通信。