Cita de: eferion en 23 Febrero 2015, 16:27 PM
Quizás deberías hacer una espera basada en señales.
Revisa el siguiente enlace.
Un saludo.
muchas gracias eferion
le hecho un vistazo y os digo cuando tenga todo claro
Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
Mostrar Mensajes MenúCita de: eferion en 23 Febrero 2015, 16:27 PM
Quizás deberías hacer una espera basada en señales.
Revisa el siguiente enlace.
Un saludo.
Cita de: eferion en 23 Febrero 2015, 12:28 PM
Imagino que el socket será TCP. El caso es que el socket deberías leerlo con "read", no con "fread". Además, hacer "fseek" sobre el socket no parece demasiado recomendable, ya que cuando tu lees datos de un socket el sistema borra el contenido ya leído para hacer hueco.
Cita de: eferion en 23 Febrero 2015, 12:28 PMEs lo mismo lo único es que programas con una maquina con pocos recursos y velocidad de CPU limitada
No he programado aún una Raspberry, pero ese es el funcionamiento esperado en PCs.
Cita de: eferion en 23 Febrero 2015, 12:28 PM
PD.: La lectura "read" es bloqueante salvo que en el socket se indique lo contrario... y esa espera no debería consumir CPU.
struct timeval ts;
ts.tv_sec = 0;
ts.tv_usec = 5;
do {
fseek(f_read,SEEK_SEY,0);//colocamos alprincipio del fichero
in read =fread(bufr,ftell(f_read),10, f_read);
delayMidrodeconds(50);
}while(bufr!=2)