jgproxy.java
来自「《移动Agent技术》一书的所有章节源代码。」· Java 代码 · 共 128 行
JAVA
128 行
package jianguan;
import com.ibm.aglet.*;
import com.ibm.aglet.event.*;
import java.io.ObjectInput;
import java.io.ObjectOutput;
import java.io.IOException;
import java.net.URL;
import java.net.*;
import java.sql.*;
import java.util.*;
import java.io.*;
public class jgProxy extends Aglet {
transient String name = "Unknown"; ////name 用于表示本地context
private AgletProxy masterProxy = null;
transient AgletProxy serverProxy = null;
AgletID sid=null;
String sname;
AgletID self_id=null;
URL homeURL = null;///表示最初派遣主机的url
AgletID aid = null;
public void onCreation(Object o) {
/* masterProxy = (AgletProxy) o;
try {
homeURL = getAgletContext().getHostingURL();
aid = masterProxy.getAgletID();
////debug
System.out.println("hostUrl is:"+homeURL);
System.out.println("agletID is:"+aid);
setText("hostUrl is:"+homeURL);
setText("agletID is:"+aid);
} catch (Exception ex) {
System.out.println(ex);
} */
addMobilityListener(new MobilityAdapter() {
public void onArrival(MobilityEvent me) {
setText("Arrived safely");
self_id=getAgletID();
System.out.println("my self id is:"+self_id);
/* AgletContext cxt=getAgletContext();
try{
Enumeration aglets=cxt.getAgletProxies();
while (aglets.hasMoreElements()) {
AgletProxy tmp=(AgletProxy) aglets.nextElement();
AgletInfo inf=tmp.getAgletInfo();
System.out.println(inf.toString() );
String agName=tmp.getAgletClassName();
if (agName.endsWith("Server") ){ ////get server id
sid=tmp.getAgletID();
sname=tmp.getAgletClassName();
System.out.println("the sname is:"+sname);
}//end if
}//end while
////////////
System.out.println(cxt.toString() );
name = (String) getAgletContext().getProperty("aglets.user.name", "Unknown");
}//end try
catch (Exception ex) {
ex.printStackTrace();
} //end catch
*/
} //end onarrival
public void onReverting(MobilityEvent mev) {
System.out.println("Goodbye");
}
}); //end listerner
}//end oncreation
public void onDisposing() { }
/* public boolean handleMessage(Message msg) {
if (msg.sameKind("sendWrite")) { /////接受master传来的消息,并送给server
String[] str=(String[])msg.getArg();
System.out.println("Proxy receive record from jianguanClient: "+str[0]);
//测试安全性fileRead();
//////////
try{
System.out.println("serverProxy id is:"+sid);
if (serverProxy == null) {
serverProxy = getAgletContext().getAgletProxy(sid); ///获取代理
}
serverProxy.sendOnewayMessage(new Message("write",str) );
}//end try
catch(Exception e){
e.printStackTrace();
System.out.println("serverProxy message error");
}
return true;
}//end if
return false;
}//end handlemessage
*/
}//end Proxy
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?