您的位置:首页 > Web前端 > Node.js

如何在aodv协议中访问node的各项属性 .

2012-11-07 14:55 447 查看
如何在aodv协议中访问node的各项属性(例如,X_, Y_, speed_)

aodv协议里面没有出现当前节点,如要访问与之对应的节点的信息,则添加一个节点并与AODV对应的Agent绑定。

1、在aodv.h中添加如下代码

protected:

MobileNode *node_; // My node

2、修改aodv.cc中的command函数如

int

AODV::command(int argc, const char*const* argv) {

…… //不变

else if(argc == 3) {

…… //不变

if(strcmp(argv[1], "node") == 0 ) {

node_ = (MobileNode*) TclObject::lookup(argv[2]);

if(node_ == 0) return TCL_ERROR;

return TCL_OK;

}

…… //不变

}

3、修改../tcl/lib/ns-lib.tcl中的create-aodv-agent如下(重要!!!)

Simulator instproc create-fnaodv-agent { node } {

set ragent [new Agent/AODV [$node node-addr]]

set addr [$node node-addr]

$ragent node $node

$node set ragent_ $ragent

$self at 0.0 "$ragent start"

return $ragent

}

node_就是当前AODV Agent所在的节点,使用例如

node_->dX()

node_->dX()

node_->speed()

等的命令就可以得到节点的坐标,速度等参数,具体都能获得哪些数据,可以参考../common/mobilenode.h
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: