я пишу код java rmi multi_client, в котором первый клиент (client1) имеет право изменять или создавать объект, а второй клиент (client2) имеет доступ к объекту, созданному client1, возвращает объект, чтобы увидеть его , но он не работает первый клиентский класс
import java.net.MalformedURLException;
import java.rmi.Naming;
import java.rmi.NotBoundException;
import java.rmi.RemoteException;
import java.util.ArrayList;
import java.util.Scanner;
import java.util.List;
public class ChefDeDepartement {
static Scanner sc1 = new Scanner(System.in);
static Scanner sc2 = new Scanner(System.in);
static Scanner sc3 = new Scanner(System.in);
public static void main(String[] args)throws RemoteException, NotBoundException, MalformedURLException {
int i=0;
try
{
//java.rmi.registry.LocateRegistry.createRegistry(1000);
InterfaceChefDept c = (InterfaceChefDept)Naming.lookup("rmi://localhost/ImlementationInterfaceChefDept");
System.out.println("connection au serveur");
c.Ajouter("1ere avis");
c.Ajouter("2eme avis");
c.Ajouter("3eme avis");
List<String> avis = c.returnArrayList();
System.out.println("Bienvenu !!!!!!!!!!");
while(i==0){
System.out.println(" ");
System.out.println(" ");
System.out.println(" ");
//affichage*************************************************************
System.out.println("La liste des avis :");
List<String> listAvis = avis;
int j=0;
int k=0;
for(String e: listAvis){
j=j+1;
System.out.println(j + " :" + e);
}
//affichage*************************************************************
System.out.println("*********************");
System.out.println("**********");
System.out.println("choisire votre Action :");
System.out.println(" 1: Ajouter un avis \n");
System.out.println(" 2: Supprimer \n");
int choice = sc1.nextInt();
String newAvis;
int idAvis;
if (choice==1)
{
System.out.println("donner le nouvel avis : ");
newAvis = sc2.nextLine();
c.Ajouter(newAvis);
avis = c.returnArrayList();
/*
//affichage*************************************************************
System.out.println("La liste des avis :");
int l=0;
for(String f: avis){
l=l+1;
System.out.println(l + " :" + f);
}
//affichage*************************************************************
*/
}
if (choice==2)
{
System.out.println("donner l'indice de l'avis a supprimer ");
idAvis = sc3.nextInt();
System.out.println("scan done");
c.Supprimer(idAvis);
System.out.println("supp done ");
avis = c.returnArrayList();
/*
//affichage*************************************************************
System.out.println("La liste des avis :");
int n=0;
for(String f: avis){
n=n+1;
System.out.println(n + " :" + f);
}
//affichage*************************************************************
*/
}
}
}
catch(Exception e)
{
System.out.println(e);
}
}
}
второй клиентский класс
import java.rmi.Naming;
import java.rmi.RemoteException;
import java.util.ArrayList;
import java.util.List;
public class Etudiant {
public static void main(String [] args) throws RemoteException {
try{
int i=0;
InterfaceChefDept c = (InterfaceChefDept) Naming.lookup("rmi://localhost/ImlementationInterfaceChefDept");
InterfaceEtudiant s = (InterfaceEtudiant) Naming.lookup("rmi://localhost/ServerDesAvis");
List<String> avis = c.returnArrayList();
List<String> lavis = s.AfficherAvis(avis);
System.out.println("La liste des avis disponibles :");
for(String f: lavis){
i=i+1;
System.out.println(i + " : " + f);
}
System.out.println(":) :) :) :) :) ");
}
catch(Exception e){
e.printStackTrace();
}
}
}
серверный класс
import java.rmi.Naming;
import java.rmi.RemoteException;
import java.rmi.registry.LocateRegistry;
import java.rmi.registry.Registry;
import java.rmi.NotBoundException;
import java.rmi.Remote;
import java.util.ArrayList;
public class ServerDesAvis {
public static void main(String[] args) throws RemoteException,NotBoundException{
try
{
ImlementationInterfaceChefDept c = new ImlementationInterfaceChefDept();
Naming.rebind("rmi://localhost/ServerDesAvis", c);
ImplementationInterfaceEtudiant s = new ImplementationInterfaceEtudiant();
Naming.rebind("rmi://localhost/ServerDesAvis", s);
System.out.println("server is running");
System.out.println(".......");
System.out.println(".....");
System.out.println("...");
}
catch(RemoteException re){
re.printStackTrace();
}
catch(Exception e) {
System.out.println(e);
}
}
}
после java ChefDeDepartement localhost я получаю эту ошибку java .rmi.NotBoundException: ImlementationInterfaceChefDept