ns2编程小技巧(转)
来源:互联网 发布:网络玄幻小说书名大全 编辑:程序博客网 时间:2024/05/16 11:32
1.tcl脚本传入一个int变量给c++代码
在command解析里
int nodenum=atoi(argv[2]);
printf("%d",nodenum);
2.在nam中输出结果
Tcl::instance().evalf("$ns trace-annotate \"node send d_\"");
3.改变node颜色
$node1 colorred
4.注册顶级命令
即tcl脚本写init_topology
class InitTopologyCommand : public TclCommand {
public:
InitTopologyCommand() : TclCommand("init_topology") { }
virtual int command(int, const char*const*) {
printf("wocao!\n");
return (TCL_OK);
}
};
在'/usr/local/ns2/ns-allinone-2.34/ns-2.34/common/misc.cc'
中包含你写类的头文件
在void init_misc(void)
{
(void)new InitTopologyCommand;
(void)new VersionCommand;
(void)new RandomCommand;
(void)new TimeAtofCommand;
(void)new HasInt64Command;
(void)new HasSTLCommand;
}
添加你自己的类即可
5.c++返回一个值给tcl脚本使用
现在tcl脚本定义变量
set varname 0
再在c++中调用Tcl示例
Tcl &tcl=Tcl::Instance();
tcl.evalf("set varname_ %d",var_in_c++);
即可
6.c++获得ns2系统时间
double
Scheduler::instance().clock();
7.c++获得ns2节点名字
在继承自tclobject之上的类
%s ,name()
===============================================================
没用到的
==============================================================
在C++中如何得到节点的移动速度、坐标、移动方向
1.利用下面方法获得节点对象,其中nsaddr_t为节点ID.
static Node*get_node_by_address(nsaddr_t);
2.利用下列方法获取这个节点Node里面有获得节点坐标的方法,看看mobilenode.cc
3.hdr_cmn结构体是什么意思
Ns-2中包结构包括:
一个报头(Header)堆栈,
一个可选择的数据空间。
hdr_cmn是包头堆栈中的一个重要报头,也就是我们常说的common头,他是数据包传输的关键域,不能被精简。
struct hdr_cmn {
double ts_;
packet_t ptype_;
int uid_;
int size_;
int iface_;
static int offset_;
inline static int& offset() { return offset_;}
inline static hdr_cmn* access(Packet* p) {
return (hdr_cmn*) p->access(offset_);
}
int& ptype() { return (ptype_); }
int& uid() { return (uid_); }
int& size() { return (size_); }
int& iface() { return (iface_); }
double& timestamp() { return (ts_); }
};
时间戳
ptype_
uid_
size_
hdr_cmn::access()
接口函数,用来访问数据包(packet)中的这个报头部分,common头是必须得有的!当然一般情况下,你也不得够将其删除(代码中有特殊处理),除非你去修改源码(不过这将导致意料不到的错误)!
转自: http://blog.sina.com.cn/s/blog_6074447a0100l3jt.html
- ns2编程小技巧(转)
- ns2编程小技巧
- (Caffe)编程小技巧
- 几个C#编程的小技巧 [转]
- VC编程小技巧之对话框 -------- 转
- 编程小技巧-基础(更新中。。。)
- MFC 编程小技巧日积月累 ( 一 )
- 一些编程的小技巧(一)
- 编程小技巧(持续更新中)
- qtp 基础编程小技巧(三)
- android 编程小技巧(持续中)
- Python编程小技巧(一直更新...)
- 编程小技巧
- bcb编程小技巧
- C#编程小技巧
- SAS编程小技巧
- MFC编程小技巧
- C#编程小技巧
- ubuntu下打开nsg2的命令
- PDF解密软件pdf password remover
- ns2,AODV协议解析
- WebProject
- ubuntu下打开txt文档乱码问题
- ns2编程小技巧(转)
- (转)ns2代码(int agrc,const cha…
- (转)使用GDB调试NS2程序
- ns2中基本变量类型定义
- ns2中结构体定义
- ns2中AODV协议HDR_CMN(p)的含义
- eclipse安装aptana3之后无代码提示…
- 暑假社会实践报告
- 暑假实践活动报告