mailboxtry00.java

来自「一个agent 工具包,可以开发移动设备应用,考虑了安全措施」· Java 代码 · 共 53 行

JAVA
53
字号
import SOMA.agent.*;

import java.util.*;

public class MailboxTry00 extends Agent {
	
	private byte numMessage = 0;
	
	public void run() {
		
		SOMA.Environment env = agentSystem.getEnvironment();
		// set the shared object for MailboxTry01 agent
		agentSystem.sharedObjects.put(0, env.domainNameService.getChildrenDNS().get(0));
		
		Vector data = new Vector();
		data.add(agentSystem.getPlaceID());
		data.add(getID()); // the base MailboxTry00 agent ID
		AgentWorker lurker = env.agentManager.createAgent("MailboxTry01", data, false, true);
		
		try {
			lurker.start();
		} catch (AgentWorker.AgentWorkerException awe) {
			awe.printStackTrace();
		}
		
		// if the agent is not traceable, there is no mailbox
		if (mailbox != null)
			mailbox.mailListener = new Mailbox.MailListener() {
				
				public void run() {
				
					Message mex = mailbox.getMessage();
					agentSystem.getOut().println("Message received by " + mex.from);
					if (mex.message.toString().equals("lurker_agent_done"))
						numMessage++;
					agentSystem.getOut().println("" + numMessage + " message(s) arrived");
				
				}
				
			};
		idle("printSharedObjects");
		
	}
	
	public void printSharedObjects() {
		
		for (int index = agentSystem.sharedObjects.size() - 1; index >= 0; index--)
			agentSystem.getOut().println(agentSystem.sharedObjects.get(index).toString());
		
	}
	
} // end MailboxTry00

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?