2012-06-04 3 views
0

안드로이드 응용 프로그램에서 소켓을 통해 이미지를 받고 있습니다. 디버깅을했는데 Drawable에서 이미지를 저장하려고 할 때 프로그램은 어떤 일이 일어날 때까지 기다립니다. clientSocket.getInputStream()과 관계가 있어야한다고 생각합니다. 또는 소켓으로 연결하십시오. C++로 멀티 스레딩 서버를 가지고 있으며 서버를 중지하면 안드로이드 응용 프로그램이 계속되고 이전에 보낸 이미지를 볼 수 있습니다. 하지만 서버의 소켓이 데이터를 보내고 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

저는 무료입니다 (ssock); 서버 측에서 – Kydo2

+0

하지만 나는 ssock.Close()를하지 않는다; – Kydo2

답변

0

결코 통신을 제대로 종료하지 않으므로 inputStream의 끝과 같은 소리가 표시되지 않습니다.

관련 문제