這個文件很久以前寫的,如果那裡有錯誤請通知我,我會及時修改,免得誤導他人:)
ns2
各層對應的都是一些類,只要得到其他層類的入口指標即可,比如說通過
tcl直譯器可以得到,也可以自己設定新的包頭位置,然其他層的函式直接填寫,但是注意邏輯的正確性。
通過tcl直譯器訪問從mac層訪問路由層(我沒有未測試過)
tcl& tcl=tcl::instance();
int i=mac->index_;
sprintf(tcl.buffer(),"$node_(%d) set ragent_",i);
tcl.eval();
agent=(aodv*)tclobject::lookup(tcl.result());
agent->hello();
從路由層訪問所在節點的mac/ifq
最簡單的方法是通過tcl直譯器
ifq:
int i= index;
queue *ifq;
tcl& tcl=tcl::instance();
int i=index;
sprintf(tcl.buffer(),"$node_(%d) set ifq_(0)",i);
tcl.eval();
ifq=(queue*)tclobject::lookup(tcl.result());
mac:int i= index;
mac * mac;
tcl& tcl=tcl::instance();
int i=index;
sprintf(tcl.buffer(),"$node_(%d) set mac_(0)",i);
tcl.eval();
mac=(queue*)tclobject::lookup(tcl.result());
其他方法
至於通過
ns手冊上面說明的關係來訪問,經常出現問題,很多指標沒有初始化,要自己寫**才可以使用
類似://ll * ll;
//ll=(ll*)mac->link();
//queue *ifq;
//ifq=(queue *)ll->downtarget();
關於jQuery ajax 跨域呼叫問題
只是做個筆記,大神勿噴 1 首先明確什麼事跨域問題?我的理解就是 不同網域名稱下的資源呼叫。2 解決這個跨域呼叫問題,我是用 getjson來解決的。直接上 吧,前端 getjson function json 很簡單吧 一定是問號哦,不要改 後端 客戶端會自己組裝乙個類似callback json...
關於跨域問題
解決方案 使用jsonp jsonp是使用scripe標籤來突破同源策略的一種實現方式,只能傳送get請求,就算是用jqueryajax指明了post請求,jquery也會在傳送請求的過程中轉化為get請求。具體實現方案未研究。使用子頁面 使用巢狀iframe子頁面的方法,避開同源策略。跨域資源共享...
關於UI控制項跨執行緒呼叫
這幾天,碰到乙個通過serialport口觸發ui控制項引發的ui控制項跨執行緒呼叫的問題,查了大半天,基本有三類解問決方案 1.修改control.checkforillegalcrossthreadcalls 這個屬性,變true為false,來關閉出錯報警。2.用backgroundworke...