Buenas a todos, acavo de llegar a este foro con un problema que no consigo encontrar solucion...
Intento enviar multiples archivos que tengo ya en buffers de c++ a java
Este es el codigo que e ido generando... Espero que sepais cual es el problema... No encuentro informacion en internet.
El programa se bloquea
C++
Código:
//envio el tamaño del archivo int tmp = htonl(mem_size); int l; l = send(s2, (char*)&tmp, sizeof(tmp), 0); printf("\n%i", mem_size); //y envio el archivo if ((len = send(s2, (char*)mem, (int)mem_size, 0)) == -1) { printf("error al enviar el mensaje"); //getchar(); return -1; }
Y este es el receptor en java
Código:
private Runnable updateTask = new Runnable () { public void run() { int tamaño=0; try { //leemos el tamaño enviado desde c++ tamaño= din.readInt(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } //////////////////////////////////////// final int buffer_size=1024; try { ///////////////////////////// byte[] bytes=new byte[buffer_size]; int count = 0; while(true){ if(count==tamaño){ break; } count=count+din.read(bytes); } out.append("\nPRUEBA"+count); count=0; } catch(Exception ex){ System.exit(0); } ///////////////////////////////////////// // queue the task to run again in 1 seconds... mHandler.postDelayed(updateTask, 10); } };