Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
4077 connectés 

 


Dernière réponse
Sujet : RMI + socket
nawbacan //le code main de mon serveur..
//l'erreur est à un rapport avec si je n'arrive pas à lancer le
//serveur..
public static void main (String args[])
{
 System.setSecurityManager(new RMISecurityManager());
 try {
  String serveurNom= "//localhost:1800/ChaineMemoire";
  ChaineMemoire serveur = new ChaineMemoireImpl();
   
  naming.rebind(serveurNom, serveur);
 }catch (Exception e) {
  system.out.println("exception a l'enregistement:" + e);
}
 
 
 
 
}

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
nawbacan //le code main de mon serveur..
//l'erreur est à un rapport avec si je n'arrive pas à lancer le
//serveur..
public static void main (String args[])
{
 System.setSecurityManager(new RMISecurityManager());
 try {
  String serveurNom= "//localhost:1800/ChaineMemoire";
  ChaineMemoire serveur = new ChaineMemoireImpl();
   
  naming.rebind(serveurNom, serveur);
 }catch (Exception e) {
  system.out.println("exception a l'enregistement:" + e);
}
 
 
 
 
}
darklord c bien sur le port 1800 que tu enregistres tes objets ?
nawbacan non le code je l'ai testé sur une autre machine SuSE 7.1.  
je sais absolument pas pourquoi ça ne tourne pas sur la mienne.
quand au sécurity manager, et  bien si je le déclare  et que  
j'utilise la  commande que tu m'as donné pour lancer le serveur  
ça passe toujours pas .  
darklord sinon c pas ta machine le problème, c'est la gestion de la sécurité qui est probablement différente. (si tu as testé ton code sur une machine windows par exemple)
darklord

nawbacan a écrit a écrit :

et puis à part ça merci Dark_lord , vu les post que tu met, tu  
maîtrise !!!  




 
Bin euh pour ce cas ci j'ai tout simplement eu le meme problème sur une redhat 7.3 il y a 2semaines donc ...
 
Sinon ca marche sur ta machine avec le policy file?

nawbacan alors j'ai réussi à faire tourner un client et un serveur sur le même
poste mais j'ai pour le moment viré le security manager.
 
mais j'ai l'impression que le problème vient peut-être de ma
machine. En effet j'ai testé le code sur une autre station et il  
n'y a pas de problème. alors que sur ma machine le code merde.
 
et puis à part ça merci Dark_lord , vu les post que tu met, tu  
maîtrise !!!
darklord Bon:
 
1. Tu dis avoir donné les droits en connect,accept sur le port en question mais comment fais tu ?
 
2. Utilise tu localhost ou le loopback comme adresse du serveur ou utilise tu le NOM de ta machine. Si oui vérifie ton fichier /etc/hosts
 
De manière générale tu dois lancer ton serveur comme ca:
 

Code :
  1. java -Djava.policy.file=rmi.policy monpack.MaClasse mes params


 
où rmi.policy contient
 

Code :
  1. grant {
  2.   permission java.net.SocketPermission "*:1800", "accept,connect,listen";
  3. }

nawbacan client et serveur sur la meme machine oui .
 
os : SuSE linux 7.1
darklord ton client et ton serveur sont sur la meme machine? Quel OS?
nawbacan salut à tous !
voilà j'ai un petit problème dans  mon apprentissage des RMI.
je crée une application dans laquelle un serveur propose 2 services:
stocker_chaine_caractere
lire_chane_caratere
 
j'ai donc défini l'interface du serveur
puis je l'ai implémenté
puis j'ai généré les bouts-clients et bout-serveur.
ensuite j'ai implémenté mon client.
 
ensuite j'ai lancé mon registraire
et lorsque je lance mon serveur j'ai l'erreur suivante :  
"Exeption à l'enristrement: java.security.AccessControlException: access
denied(java.net.SocketPermission 127.0.0.1:1800 connect, resolve)"
 
dans l'implémentation de mon serveur j'ai rajouté la ligne suivante
pour l'autorisation au niveau des socket :  
"SocketPermission nr = new SocketPermission ("localhost:1800",
" connect,resolve" );"
 
pour lancer mon registraire :
rmiregistry 1800 &
 
voyez vous ce que j'aurais oublié, ou alors ce que j'aurais mal  
codé ?

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)