DissertationsEnLigne.com - Dissertations gratuites, mémoires, discours et notes de recherche
Recherche

Meher

Dissertations Gratuits : Meher. Rechercher de 53 000+ Dissertation Gratuites et Mémoires
Page 1 sur 13

onnexion GPRS coûteuse…). La nature de l’application utilisée peut aussi intervenir dans le choix du réseau de communication qui est fortement dépendant du type et du contenu des médias acheminés (format de l’image, texte, format de la vidéo…). Un dernier facteur d’adaptation multiréseaux des communications est le hardware utilisé. En effet les ressources de traitement et de communication (exemples : énergie, charge cpu, occupation mémoire, le débit réseau, la connectivité…) sont d’une importance capitale pour le choix du réseau approprié. Diverses stratégies d'adaptation peuvent ainsi être définies. Ces stratégies permettent d'associer des règles de configuration aux valeurs pouvant être prises par les paramètres introduits plus haut. Dans ce travail, nous illustrons ces possibilités d'adaptation multi-reseaux par la définition d'un sous ensemble de règles de configuration tenant compte de l'état de connexion d'une interface réseau et du type du media acheminé. L’exemple concret sur lequel nous avons travaillé est une application de chat entre deux terminaux mobiles équipés de bluetooth et wifi. Les données échangées sont soit des messages textuels soit des images. que nous avons développée recommande l'utilisation de l'interface "active" pour les deux médias en cas de panne sur la deuxième interface …en donnant la priorité au wifi. Nous développons dans ce qui suit les étapes de la réalisation de la solution que nous proposons, l’environnement technologique de notre travail ainsi que les résultats que nous avons obtenus.

2- Etude technique de l’environnement de travail :

Nous avons commencé par la réalisation de l’application de chat via wifi et bluetooth sans prendre en compte l’adaptation multi réseaux dans un premier temps. Il était donc indispensable de fixer les outils qu’on va utiliser et de comprendre les principes de fonctionnement de wifi et bluetooth.

2.1 API et outils utilisés :

Javax.microedition.midlet (Mobile Information Device Profil) :

3

Ce package définit les interactions d’une application avec l’environnement dans lequel elle tourne. Il contient en particulier une classe MIDlet qui définit le cycle de vie d’une midlet en implémentant les méthodes: • Public void startApp() • Public void pauseApp() • Public void destroyApp() Javax.microedition.lcdui (user interfaces): Ce package se charge de l’interaction avec l’utilisateur en définissant des composants graphiques et en gérant les évènements. Javax.microedition.io : Ce package gère les connexions et des flux I/O. Javax.bluetooth (JSR-82) : Il gère les canaux de communications via BT.

2.2- Communication via Wifi :

La communication se fait le moyen d’une socket que le serveur commence par ouvrir. Cette socket peut gérer l’échange de données dans les deux sens entre client et serveur. Voici un exemple basique de communication via Wifi utilisant TCP : Partie Serveur : ----------------------------------------------------------------------------------------------------------------try { scn = (ServerSocketConnection) Connector.open("socket://:5000"); // Wait for a connection. sc = (SocketConnection) scn.acceptAndOpen(); is = sc.openInputStream(); os = sc.openOutputStream(); String message = “Hello”; os.write(message.getBytes()); }

------------------------------------------------------------------------------------------------Le seveur ouvre la socket avec un numéro de port en utilisant la méthode open de la classe Connector se trouvant sous javax.microedition.io. L’appel de la méthode acceptAndOpen() est une attente bloquante à la connexion d’un client. Enfin l’envoie d’un message se réduit à l’écriture sur l’objet OutputStream (java.io.OutputStream). Partie Client : ----------------------------------------------------------------------------------------------------------------sc = (SocketConnection) Connector.open("socket://192.168.1.1:5000"); si.setText("Connected to server"); 4

is = sc.openInputStream(); os = sc.openOutputStream(); while (true) { StringBuffer sb = new StringBuffer(); int c = 0; while (((c = is.read()) != '\n') && (c != -1)) { sb.append((char) c); } if (c = = -1) { break; } // Display message to user si.setText("Message received - " + sb.toString()); } Le serveur se connecte sur la socket du serveur en fournissant l’adresse de ce dernier ainsi que le numéro de port approprié. Il récupère un InputStream et un OutputStream. La réception d’un message est une simple lecture sur le InputStream.

2.3- Communication via Bluetooth :

Javax.bluetooth est une API qui permet: • • • D’enregistrer des services : Register Services(UUID) De découvrir des services et des devices D’établir des connexions.

Offrir un service Bluetooth : Le Service sera enregistré dans la SDDB (Service Discovery Data Base), ServiceRecord contient des informations sur le service (attributes) sous la forme (ID,Value) ID:16bits unsigned integer Value : DataElement 2 attributs sont necessaires: • ServiceRecordHandle: identifie l’instance courante du SDP (Service discovery Protocol) server • Service ClassIDList: liste des UUDI associés au service offert Un service est identifié par un UUDI : 128 bits ->32 char Le serveur récupère le LocalDevice et le mets accessible par les autres devices : il utilise l’URL pour ouvrir une connexion (StreamConnectionNotifier) permettant de publier le service. ----------------------------------------------------------------------------------------------------------------Exemple :URL (utilisant le protocole btspp par exemple) localDevice = LocalDevice.getLocalDevice(); url=“btspp://localhost:” + UUDI.toString() + “;name=btChat” notifier = (StreamConnectionNotifier) Connector.open(url.toString()); ServiceRecord = localDevice.getRecord(notifier);

5

------------------------------------------------------------------------------------------------Utiliser un service Bluetooth : • Comment retrouver un remote device? Implémenter DiscoveryListener qui offre les méthodes (il faut redéfinir ces méthodes) • • • • public void deviceDiscovered(RemoteDevice btDevice, DeviceClass cod) public void inquiryCompleted(int discType) public void servicesDiscovered(int transID, ServiceRecord[] servRecord) public void serviceSearchCompleted(int transID, int respCode)

Faire appel à la méthode « startInquiry(int accessCode, DiscoveryListener listener) » qui est invoquée par l’agent de discovery. Puis on récupère l’url du service et on ouvre la connexion qui sera le support de transmission des données désirées.

3- Conception :

Cette application est composée de deux modules interconnectés, le premier contrôle l’envoie et la réception des messages et le deuxième prend en charge le choix du canal de communication et l’acheminement des données. Chaque utilisateur dispose d’une liste de contacts enregistrée dans un fichier contenant tous les paramètres de connexions pour chaque contact. Pour un correspondant disposant d’une interface wifi et une autre Bluetooth le fichier indiquera alors son adresse IP et le port de connexion pour définir les paramètres de connexion wifi et le nom de l’équipement mobile ainsi que le l’identifiant du service offert pour définir les paramètres de la connexion bluetooth. L’application commence par afficher tous les contacts de l’utilisateur que peut en sélectionner un et entamer avec lui une discussion.

1. contrôle de l’application :

Notre application doit permettre d’envoyer des images et des messages, elle doit gérer aussi l’état des connexions Wi-Fi et bluetooth et afficher leurs caractéristiques. C’est pour cela qu’on a jugé utile de deviser ce module en trois parties ou bien trois contrôleurs dont chacun s’occupe des tâches bien précises. ChatController et ChatView: permettent de visualiser la discussion, d’inviter l’utilisateur à saisir ses messages. Ils disposent des méthodes qui permettent d’ajouter un message reçu ou envoyé dans la zone de conversation. ImageController et ImageView : deux classes qui permettent d’inviter le client à choisir une image pour qu’elle soit publiée. Les images qui peuvent être envoyées sont enregistrées dans le répertoire : ‘C:\WTK22\appdb\DefaultColorPhone\filesystem\root1\images’, elles fournissent aussi des méthodes pour la construction d’une image à partir d’un chemin et la sa reconstruction et son affichage à partir d’un tableau de bytes. ConnectionController : permet d’afficher les caractéristiques et les disponibilités de chaque interface de communication.

6

2. Adaptation multi réseaux

Le module d’adaptation multi réseaux est composé de deux classes (Bluetooth et Wireless) présentant les deux types de connexions qu’on envisage d’utiliser pour l’acheminement de données. Chacune de ces deux implémente l’interface Connection qui définit les méthodes communes à ces deux connexions. Chaque classe alors fournit les méthodes suivantes : scanConnection qui vérifie la disponibilité de la connexion, send (byte [] data) qui se charge d’envoyer des bytes pour assurer

...

Télécharger au format  txt (22.6 Kb)   pdf (177.3 Kb)   docx (14.1 Kb)  
Voir 12 pages de plus »
Uniquement disponible sur DissertationsEnLigne.com