bornes interactives bluetooth
salut tout le monde
je travaille sur un programme d'envoi multiple d'image via bluetooth. c'est similaire au projet des bornes publicitaires interactives.
mon problème est dans l'envoie, lorsqu'il s'agit de 3 ou 4 téléphone ça marche mais lorsque je me déplace dans un lieu plein de téléphone le programme envoie à quelque un est la majorité ne reçoit rien.
bon techniquement j'empile les téléphone détecté dans un vecteur
puis j'ai une fonction qui envoie les images a tout les élément du vecteur par le biais des adresse mac.
voici mon environnement de travail:
SE: ubuntu
bibliothèque bluetooth: BLUEZ
et j'utilise les commande du shell pour la phase de détection et envoie des images.
voici mon code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
|
package Bluetooth;
import Log.FichierLog;
import Main.Main;
import Shell.*;
import java.io.File;
import java.io.IOException;
import java.util.*;
public class ActionPush extends TimerTask {
public static boolean interompre=false;
Thread recherche=new GetBTDevicesInRange();
public ActionPush(){
}
public void run() {
String channel;
String nomRepAbsolut;
//rechercher les téllephone et les enregistrer dans un vecteur
GetNameDevices.getNameDevice();
for (Iterator <BTDevice> i=Main.bTDeviceSet.iterator();i.hasNext();) {
BTDevice dev = i.next();
nomRepAbsolut = Main.nomRepAbsolut+dev.getName();
//si le rep du tel exsiste
Envoie(dev, choixFichier, nomRepAbsolut);
}
}
public void Envoie(BTDevice dev,ChoixFichier choixFichier,String nomRepAbsolut) throws IOException{
String file;
String[] listefiles = choixFichier.listerRepertoire(Main.defaultDossier);
file = nomRepAbsolut +"/"+ listefiles[j];
// retrouvé le channel du tel
GetBTDevicesInRange.getBTDevicesInRange(dev);
//envoyer le fichier au tel
OBEXPush.obexPush(dev,nomRepAbsolut+"/"+file);
}
} |
bon le code fonctionne correctement sauf qu'il y a problème de gestion dans l'envoi des fichier.le programme reste beaucoup dans la phase recherche lorsqu'il y a multiple téléphone et n'envoie pas a tout le monde.
sinon si il y a une façon de faire fonctionner la phase recherche sur un port et la phase d'envoi sur un autre port (cad utiliser deux clé bluetooth)
merci d'avance :D