📄 remotclient3.java
字号:
package abrobot.abmobilerobot.clinet;
/**
* <p>Title: GOPDR</p>
* <p>Description: General Open Platform for Distributed Robot</p>
* <p>Copyright: Copyright (c) 2003</p>
* <p>Company: SJTU</p>
* @author Hou Xueqiao
* @version 1.01
*/
import abrobot.*;
import abrobot.abmobilerobot.*;
import java.rmi.RMISecurityManager;
import net.jini.discovery.LookupDiscovery;
import net.jini.discovery.DiscoveryListener;
import net.jini.discovery.DiscoveryEvent;
import net.jini.core.lookup.ServiceRegistrar;
import net.jini.core.lookup.ServiceTemplate;
import net.jini.core.discovery.LookupLocator;
import net.jini.core.lookup.ServiceRegistrar;
public class RemotClient3 {
public RemotClient3() {
LookupLocator lookup = null;
ServiceRegistrar registrar = null;
System.setSecurityManager(new RMISecurityManager());
try {
lookup = new LookupLocator("jini://202.120.8.136");
} catch(java.net.MalformedURLException e) {
System.err.println("Lookup failed: " + e.toString());
System.exit(1);
}
try {
registrar = lookup.getRegistrar();
//System.out.println(registrar.getLocator().g);
} catch (Exception e) {
e.printStackTrace();
}
System.out.println("Registrar found");
try{
Class [] classes = new Class[] {AbRobotInterface.class};
AbRobotInterface Robot = null;
ServiceTemplate template = new ServiceTemplate(null, classes,
null);
try {
Robot = (AbRobotInterface) registrar.lookup(template);
} catch(java.rmi.RemoteException e) {
e.printStackTrace();
}
if (Robot == null) {
System.out.println("Robot null");
}
else{
System.out.println(Robot.Properties().getProperty("Type"));
RobotRun(Robot);
}
}catch(Exception e){
e.printStackTrace();
}
// the code takes separate routes from here for client or service
}
public void RobotRun(AbRobotInterface Robot){
try{
ActionGoClass ActionGo=new ActionGoClass();
ActionAvoidFrontClass ActionAvoid=new ActionAvoidFrontClass();
ActionAvoid.Distance=50;
ActionAvoid.setPriority(AbActionClass.ACTION_PRIORITY_MAX);
ActionAvoid.activate();
ActionGo.setPriority(50);
ActionGo.set(10,0.5,0.2,0.5);
ActionGo.activate();
Robot.addAction(ActionGo);
Robot.addAction(ActionAvoid);
Robot.start();
}catch(Exception e){e.printStackTrace();}
}
public static void main(String[] args) {
RemotClient3 remotClient31 = new RemotClient3();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -