package elte.java2_utikalauz5.chat; import java.rmi.Naming; import java.rmi.server.UnicastRemoteObject; import java.rmi.RemoteException; import java.rmi.RMISecurityManager; import java.util.*; /***** Java Chat Program - Kommunikációs objektum/kliensoldal. @link.forrásfájl {@docRoot}/../data/chat/src RMIChatClient.java @since Java 2 Útikalauz programozóknak 1.3 */ public class RMIChatClient extends UnicastRemoteObject implements RMIChatClientIf { /** Verziószám. */ private final static long serialVersionUID = 15L; private JavaChat kepernyo = null; /* Felhasználói felület obj. */ /*** * Konstruktormedódus. ***/ private RMIChatClient(JavaChat jc) throws java.rmi.RemoteException { super(); /* Ez exportálja a távoli objektumot */ kepernyo=jc; /* Eltárolja a megjelenítést végző */ } /* RMIChatClient() */ /* JavaChat objektum referenciáját. */ public void uzenetFogadas(String nev, String szoveg) throws java.rmi.RemoteException { kepernyo.uzenetFogadas(nev,szoveg); /* Kiírjuk a felh. felületre */ } public void tarsBelepes(String nev) throws java.rmi.RemoteException { kepernyo.tarsBelepes(nev); /* Meghívjuk a felh. felület metódusát */ } public void tarsKilepes(String nev) throws java.rmi.RemoteException { kepernyo.tarsKilepes(nev); /* Meghívjuk a felh. felület metódusát */ } public void kirugtak() throws java.rmi.RemoteException { System.err.println("Kirúgtak a csetből, a program leáll ..."); System.exit(-1); } /*** * Ezzel a metódussal hozunk létre egy kliensoldali kommunikációs * objektumot. * Nem applet alkalmazásnál installáljuk az RMI biztonsági * felügyelőjét (appleteknél a böngészőben már van ilyen, így * ez a művelet ott nem futna le). ***/ public static RMIChatClientIf init(JavaChat jc, boolean applet_e) { if (!applet_e) // Appleteknél már van securitymanager ... { System.setSecurityManager(new RMISecurityManager()); } try { RMIChatClient k = new RMIChatClient(jc); return k; } catch (Exception e) { System.out.println("ChatSzerver nem elérhető ..."); System.out.println("Hiba oka:"+e.getMessage()); } return null; } }