Salut

Pour mon projet de fin d'étude pour cette année 2012/2013 j'ai choisis de réalisé une application RMI via bluetooth apres j'utiliserai un programme client RMI en midlet (J2ME) que j'intégrerai a un téléphone portable Nokia de préférence enfin bref

Mon premier objetif c'est la réalisation du serveur RMI qui utilisera le protocol du bluetooth au lieu du réseau eternet comme on l'avait étudié a la fac cette année

j'ai cherché sur le net et j'ai trouvé ce liens la :

- http://www.java2s.com/Open-Source/Ja...Catalogrmi.htm

y a toutes les classes l'interface ,l'implementation de l'interface, le serveur et y méme la classe client si on veut faire un contacte rmi via bluetooth entre deux pc portables par exemple

le probleme c'est que j'arrive pas méttre en oeuvre le serveur il dise sur le site qu'on a besoin d'une bibliotheque nommée bluecove c'est un fichier jar qu'on télécharge sur le méme site puis on doit l'intégrer a notre programme mais je galére

aussi quand j'ai dezipé le jar car il le fallait pour pouvoir compiler les classes en ligne de commande j'ai decouvert des fichiers .dll dois je les mettre dans le dossiers driver du dossier windows32 ?

je vais vous exposer la class serveur car je n'ai pas su koi mettre dans la ligne de commande quand j'ai voulu l'executer j'ai pas su si je devais mette le port ou pas :

Server.java

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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
import java.rmi.Remote;
import java.rmi.RemoteException;
import java.rmi.registry.LocateRegistry;
import java.rmi.registry.Registry;
import java.rmi.server.UnicastRemoteObject;
 
import com.intel.bluetooth.BlueCoveConfigProperties;
import com.intel.bluetooth.DebugLog;
 
public class Server {
 
  static final int rmiRegistryPortDefault = 8090;
 
  static int rmiRegistryPort = rmiRegistryPortDefault;
 
  // Prevents GC
  private static Server server;
 
  private Registry registry = null;
 
  private Remote srv;
 
  public static void main(String[] args) {
    String port = null;
    for (int i = 0; i < args.length; i++) {
      if (args[i].equalsIgnoreCase("--port") && i < (args.length - 1)) {
        i++;
        port = args[i];
      } else if (args[i].equalsIgnoreCase("--help")) {
        help();
        return;
      } else {
        help();
        return;
      }
    }
    if (port == null) {
      port = System.getProperty(BlueCoveConfigProperties.PROPERTY_EMULATOR_PORT);
    }
    start(port);
  }
 
  private static void help() {
    StringBuffer usage = new StringBuffer();
    usage.append("Usage:\n java ").append(Server.class.getName());
    usage.append("[--port rmiListeningPort]");
    System.out.println(usage);
  }
 
  public static void start(String port) {
    if (server != null) {
      return;
    }
    server = new Server();
    server.run(port);
  }
 
  private void run(String port) {
    startRMIRegistry(port);
    startRMIService();
 
    DebugLog.debug("Emulator RMI Service listening on port " + rmiRegistryPort);
 
    // wait for RMI threads to start up
    try {
      Thread.sleep(2000);
    } catch (InterruptedException e) {
    }
  }
 
  private void startRMIRegistry(String port) {
    try {
      if ((port != null) && (port.length() > 0)) {
        rmiRegistryPort = Integer.parseInt(port);
      }
      registry = LocateRegistry.createRegistry(rmiRegistryPort);
    } catch (RemoteException e) {
      throw new Error("Fails to start RMIRegistry", e);
    }
  }
 
  private void startRMIService() {
    try {
      srv = new RemoteServiceImpl();
      if (srv instanceof UnicastRemoteObject) {
        registry.rebind(RemoteService.SERVICE_NAME, srv);
      } else {
        Remote stub = UnicastRemoteObject.exportObject(srv, 0);
        registry.rebind(RemoteService.SERVICE_NAME, stub);
      }
    } catch (RemoteException e) {
      e.printStackTrace();
    }
  }
}
mon deuxiéme objectif c'est la relisation d'un programme midlet en rmi-j2me puis l'intégré dans un téléphone portable comme nokia par exemple mais j'ai aucune idée de comment le faire

PS: svp si vous connaissez une autre méthose pour realisé un serveur en java rmi qui puisse étre invoqué par un programme client intégré dans un téléphonne portable (J2ME) faites le moi savoir

Cordialement