📄 partnerserverimpl.java
字号:
/* * Java Network Programming, Second Edition * Merlin Hughes, Michael Shoffner, Derek Hamner * Manning Publications Company; ISBN 188477749X * * http://nitric.com/jnp/ * * Copyright (c) 1997-1999 Merlin Hughes, Michael Shoffner, Derek Hamner; * all rights reserved; see license.txt for details. */import java.rmi.*;import java.util.*;import java.rmi.server.*;import java.rmi.registry.*;public class PartnerServerImpl extends UnicastRemoteObject implements PartnerServer { protected Hashtable pending; public PartnerServerImpl () throws RemoteException { pending = new Hashtable (); } public synchronized boolean assignPartner (String service, Partner myself) throws RemoteException { if (!pending.containsKey (service)) { pending.put (service, myself); return false; } else { Partner partner = (Partner) pending.get (service); pending.remove (service); partner.partnered (service, myself); myself.partnered (service, partner); return true; } } public static void main (String[] args) throws RemoteException, AlreadyBoundException { if (args.length != 2) throw new IllegalArgumentException ("Syntax: PartnerServerImpl <port> <service>"); int port = Integer.parseInt (args[0]); String service = args[1]; PartnerServerImpl partnerServer = new PartnerServerImpl (); try { Registry registry = LocateRegistry.getRegistry (port); registry.bind (service, partnerServer); } catch (ConnectException ex) { Registry registry = LocateRegistry.createRegistry (port); registry.bind (service, partnerServer); } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -