import java.rmi.RemoteException; import java.rmi.registry.LocateRegistry; import java.rmi.registry.Registry; import java.rmi.server.UnicastRemoteObject; import java.util.ArrayList; import java.util.HashMap; class ChatImpl implements Chat { public ChatImpl() { /* TODO */ } public void connect(String nick, ChatBack ref) throws RemoteException { /* TODO */ } public void disconnect(String nick) throws RemoteException { /* TODO */ } public ArrayList list() throws RemoteException { /* TODO */ } public void send(String src, String msg) throws RemoteException { /* TODO */ } public void send(String src, String dst, String msg) throws RemoteException { /* TODO */ } } public class ChatServer { public static void main(String args[]) { try { Chat chat = new ChatImpl(); Chat stub = (Chat) UnicastRemoteObject.exportObject(chat, 0); Registry registry = LocateRegistry.getRegistry(); registry.rebind("chat", stub); } catch (Exception e) { System.out.println("ChatServer Exception: " + e.getMessage()); e.printStackTrace(); } } }