Hola, estoy implementando una solucion en c para enviar desde mi pub con un portatil archivos de imagenes para promocionarme.No se porque mi pub con lo chulo que esta no entra mucha gente y al lado tengo 2 mas cutres y siempre estan llenos.
Utilizo 3 bluetooth por usb, uno lo utilizo para escanear dispositivos y guardar las macs con su canal en un fichero y los otros dos para envio. El problema reside en la velocidad y el tiempo de envio. El tiempo que tarda en escanear y enviar a 4 moviles por ejemplo es de unos 40 segs y esto es las mejores condiciones (moviles a los que le he pillado bien el canal y todos al lado de los bluetooth usb), y claro yo lo que quiero captar es a gente que esta andando por la calle y esta solución no me sirve mucho puesto que pierdo a muchos moviles por el tiempo que se tarda.
Implemento el envio con el obexftp, a groso modo:
cli = obexftp_open(OBEX_TRANS_BLUETOOTH, NULL, NULL, NULL);
ret = obexftp_connect_src(cli,dir,MAC,canal,NULL,0);
ret = obexftp_put_file(cli,f,ft);
obexftp_close(cli);
Estas son basicamente las sentencias que utilizo, uso un doble for,uno para recorrer cada uno de las 7 conexiones concurrentes que teoricamente soporta el bluetooth y otro para recorrer el hci 1 y el hci2. Por cada envio utilizo un proceso pesado (fork). No se donde indicarle que me haga un envio por la conexión 1 y otro por la 2 asi hasta 7. Y tampoco se si implementarlo mejor con threads en vez de con fork.¿podeis orientarme?
La duda que me trae mas loco es si se puede controlar a nivel de codigo con el obexftp o con otra cosa el tema de las conexiones simultanteas, o eso lo hace automaticamente el hardware del bluetooth.
Muchas gracias, un saludo, el foro esta genial.