ns2 中得到Agent的例項

2021-08-23 15:34:46 字數 643 閱讀 8189

下面**說明了如何訪問其他節點的agent,以aodv協議為例

新增以下**到aodv.cc. 用這種方法也可以訪問其他物件,比如 mobilenode, 等等.

aodv* aodvagent;

// set i to be the node id

char command[256];

// [agent/aodv info instances] 返回乙個aodvagent的陣列

sprintf(command, "foreach aodvagent [agent/aodv info instances]\

}\nset t $i\n", i);

tcl& tcl = tcl::instance();

tcl.eval(command);

const char* ref = tcl.result();

aodvagent = (aodv*)tcl.lookup(ref);

if (argc == 2) 

//other command

...}

導致的原因是新加的class沒有編譯,檢查是否把新的object加入到ns的makefile的obj_cc中,加入後編譯在執行ns指令碼。

從Linux學到NS2 (二)搭建NS2中重要元件

本篇問題 1.1 cc是linux下c 原始檔的預設字尾,cpp是c 語言檔案的字尾名,採用.cc字尾 執行 g poisson.cc o poisson.o std c 11 後生成檔案 poisson.o 其中.o是編譯的中間目標檔案,可以將多個中間目標檔案鏈結成可執行檔案。2.ns 的唯一記錄...

ns2中變數的繫結

asrmagnet asrmagent bind pdistance pdistance 實變數 bind requerstor requestor 整形變數 bind time lastsent lastsesssent 時間變數 bind bw ctrlimit ctrlbwlimit 帶框變數...

NS2中,編譯檔案

ns2是用c 和tcl編寫的,可以按照自己的方式修改並執行。所以就需要修改一下裡面的原始碼,編譯之後執行。這裡簡單介紹一下,如何編譯。一如果只是簡單改動,比如新增了乙個.cc檔案,或者修改了乙個.cc檔案。在makefile檔案修改之後,直接在nsx.xx目錄下,執行 make就可以了。修改make...