Serveur en RMI et client en RMI-J2ME via bluetooth
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:
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 :cry:
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