摘要: 接触NS2这么长时间了,对TclCL机制一直都是半知半解,今天重新看了书,做以下笔记:我们以TcpAgent的相关代码为例,重新回顾一下TclCL。首先,在tcp.p中的TcpAgent类声明如下:class TcpAgent::public Agent {public: TcpAgent(); Virtual void recv(Packet*,Handle*); Virtual void timeout(int tno); Virtual void timeout_nonrtx(int tno); Int command(int argc,const char* const* argv); 阅读全文
posted @ 2012-05-08 22:00 always on the way 阅读(879) 评论(0) 推荐(0) 编辑
摘要: 1、 NS中节点分为两类:单播(一对一通信)和多播(一点对多点通信)。2、 单播节点:创建单播节点的基本方法是调用Simulator类的node过程:Set ns [new Simulator]Set n0 [$ns node]以上TCL脚本创建了一个单播节点n0。单播节点的基本结构如下图所示,它包括两个TCL对象:地址分类器(address classifier)和端口分类器(port classifier),他们用来判断分组的目标地址以及分组的目标Agent。3、 配置节点:在创建节点之前定义它的各种属性,包括节点的地址类型、移动节点的各个网络构件的类型、ad-hoc网络中移动节点的路由协 阅读全文
posted @ 2012-04-17 14:21 always on the way 阅读(1868) 评论(0) 推荐(0) 编辑
摘要: 转自:http://blog.vckbase.com/iwaswzq/archive/2005/07/21/9873.html-----------------------------------------------------前言: 想在工程里面插入一个ActiveX控件,却发现我的VC找不到任何注册的东西,深感奇怪。看了一晚上msdn中关于 Gallery的东西,终于有所收获,不敢独享,特此贴出。-----------------------------------------------------说明: Visual C++ 6 通过 Gallery 实现代码重用。你可以在自己的. 阅读全文
posted @ 2012-03-21 13:58 always on the way 阅读(1674) 评论(0) 推荐(0) 编辑
摘要: 我用的是ns2.35.gdb用ubuntu自带的,只需配置一下ns的 Makefile即可。gedit Makefile:修改前CCOPT=-Wall-Wno-write-strings 修改后CCOPT=-g-Wall-Wno-write-strings 然后依次执行make cleanmake dependmakemake depend的警告可忽略不计。输入gdb ns,进入调试模式另外还可以sudo apt-get install ddd,安装gdb的图形调试界面,用命令:ddd ns进入图形调试gdb调试命令可用help查出。 阅读全文
posted @ 2012-03-20 12:55 always on the way 阅读(306) 评论(0) 推荐(0) 编辑
摘要: 在NS2中增加自己的协议模块一般分一下几个步骤:(1) 添加协议类(2) 定义协议分组头结构(3) 编译代码其实在ns3.35版本中已经有ping协议,此步骤只是为了了解ns2添加协议的一般步骤。1、 在ping协议中,需要定义自己的控制分组,因此首先需要在ping.h头文件中定义ping的分组头结构,C++代码如下://在ping协议中定义自己的控制分组struct hdr_ping { char ret; //0:从发送者到接收者,1:从接受者到发送者 double send_time; //发送时间,为了计算RTT};class PingAgent : public Agent {pub 阅读全文
posted @ 2012-03-20 12:50 always on the way 阅读(2176) 评论(0) 推荐(0) 编辑