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 :
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.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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); } }
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![]()
Partager