📄 acremoteclient.java
字号:
package ACRemote;
import java.util.Vector;
import java.io.IOException;
import java.rmi.RemoteException;
import java.rmi.RMISecurityManager;
import net.jini.discovery.DiscoveryListener;
import net.jini.discovery.DiscoveryEvent;
import net.jini.discovery.LookupDiscovery;
import net.jini.core.lookup.ServiceRegistrar;
import net.jini.core.lookup.ServiceTemplate;
public class ACRemoteClient implements Runnable{
protected ServiceTemplate template;
protected LookupDiscovery discovery;
static Object obj;
class MyListener implements DiscoveryListener{
public void discovered(DiscoveryEvent de){
ServiceRegistrar newregs[] = de.getRegistrars();
for(int i=0;i<newregs.length;i++){
lookForService(newregs[i]);
}
}
public void discarded(DiscoveryEvent de){
}
}
public ACRemoteClient() throws IOException{
Class types[] = { ACRemoteServiceInterface.class };
template = new ServiceTemplate(null, types, null);
if(System.getSecurityManager() == null){
System.setSecurityManager(new RMISecurityManager());
}
discovery = new LookupDiscovery(new String[] {""});
discovery.addDiscoveryListener(new MyListener());
}
protected Object lookForService(ServiceRegistrar lusvc){
Object o = null;
try{
o = lusvc.lookup(template);
}catch(RemoteException e) {
System.err.println("Error doing lookup : "+e.getMessage());
return null;
}
if(o == null){
System.out.println("\t \t No matching service found.");
return null;
}
obj = o;
System.out.println("\t \t Found a matching service.");
return o;
}
public void run(){
while(true){
try{
Thread.sleep(1000000);
}catch(InterruptedException e){
System.err.println("Interrpted Exception occured: "+e.getMessage());
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -