网上的蜘蛛
分类: 系统运维
2008-07-25 16:07:31
我是以从Agent类继承的Myagent为例
Packet* p = allocpkt();
struct hdr_cmn *ch = HDR_CMN(p);
struct hdr_ip *ih = HDR_IP(p);
struct hdr_myagent *rh = (struct hdr_myagent*)hdr_myagent::access(p);
//初始化数据
rh->type=PDU_DATA_DASELE;
rh->spec.data_da_sele.id=index_;//设置竞选节点(本节点)的地址
//本节点要向整个网络广播,这根据我协议的要求设计的。
ih->daddr()=IP_BROADCAST;//这里可以根据需要设为你需要的目
//的地址(ns中node的地址是0,1,2...)
ih->dport()=0; //我的协议是建立在aodv之上的,必须这样设置端口
target_->recv(p);//向下层协议发送数据即可到达目的节点,
//剩下的任务交给路由层协议完成了,呵呵
/*如果你需要延迟一定的时间才发送,也可以采用
Scheduler::instance().schedule(target_, p, interval);//interval为延迟时间*/