- 博客(21)
- 资源 (2)
- 收藏
- 关注
原创 ns2仿真实验(柯志亨)实验代码的错误解决(二)
因为一些事情这几天比较殆堕,ns2仿真过程中,最令人头疼的问题莫过于各种各样的仿真错误,即使是 别人的源代码拿过来直接运行,有时候也会发生各种各样的错误,最常见的一种错误就是没有添加协议导致的,比如昨天遇到的第十八个实验(无线网络封包传输遗失模型),如果直接把柯老师的代码抄上去运行就会发生错误,大概意思是说找不到路由协议,其实这里面就是我们没有添加路由协议导致的,我们在代码里面查找,可以发现有这么
2013-02-06 10:07:31 1438
原创 ns2仿真实验(柯志亨)TCP与UDP解读(一)
先上张图片,这是运行的图片。下面说下代码,柯志恒老师的详细解释就不说了,下面说下我的理解:set ns [new Simulator]$ns color 1 Blue //此处为什么要设置为1? 后面fid_ 1就是指的这里$ns color 2 Redset nf [open out.nam w]
2013-01-25 22:27:54 2232
原创 GPSRAgent::recvHello
voidGPSRAgent::recvHello(Packet *p){ struct hdr_cmn *cmh = HDR_CMN(p); struct hdr_gpsr_hello *ghh = HDR_GPSR_HELLO(p); nblist_->newNB(cmh->last_hop_, (double)ghh->x_, (double)ghh->y_);
2013-05-06 15:04:46 123
原创 AODV::recvError
voidAODV::recvError(Packet *p) {struct hdr_ip *ih = HDR_IP(p);struct hdr_aodv_error *re = HDR_AODV_ERROR(p);aodv_rt_entry *rt;u_int8_t i;Packet *rerr = Packet::alloc();struct hdr_aodv_er
2013-05-05 10:18:34 470
原创 AODV::recvReply
voidAODV::recvReply(Packet *p) { //查找是否有到目的节点的路由,没有则建立,否则更新,如果是RREP的目的节点,即RREQ的源节点 //则建立到目的节点的路径,否则根据路由表中到源节点的路由转发该RREP//struct hdr_cmn *ch = HDR_CMN(p);struct hdr_ip *ih = HDR_IP(p);
2013-05-05 10:12:48 468
原创 AODV::recvRequest
voidAODV::recvRequest(Packet *p) { //收到路由RREQstruct hdr_ip *ih = HDR_IP(p);struct hdr_aodv_request *rq = HDR_AODV_REQUEST(p);aodv_rt_entry *rt; /* * Drop if: * - I'm t
2013-05-05 10:07:00 447
原创 winxp+cygwin+ns2.29 实验二十二(隐藏节点与暴露节点)
由于添加各种协议过于复杂,改用柯老师的cygwin+ns2.29,都可以从网址http://140.116.164.80/~smallko/ns2/上进行下载安装,环境是winxp。下面来说下实验二十二:隐藏节点与暴露节点首先用threshold.exe算出信号强度,这是电磁场方面的内容,这里面使用模拟的环境来模仿下天线增益,算出能够达到信号强度标准的量。算出数据后,编写脚本验证下算出来的
2013-05-03 14:25:05 528
原创 NS2 AODV::recvAODV
void//接收AODV数据分组AODV::recvAODV(Packet *p) { struct hdr_aodv *ah = HDR_AODV(p);//指定路由端口255 assert(HDR_IP (p)->sport() == RT_PORT); assert(HDR_IP (p)->dport() == RT_PORT); /* * In
2013-05-02 21:40:42 516
原创 NS2 AODV::recv
AODV::recv(Packet *p, Handler*) {//HDR_CMN HDR_IP均在ip.cc中定义struct hdr_cmn *ch = HDR_CMN(p); //查看cmn头struct hdr_ip *ih = HDR_IP(p);//查看ip头//确保初始化 assert(initialized());//断言 //assert(p->inco
2013-05-02 21:30:01 562
转载 getopt
http://baike.baidu.com/view/2406693.htmgetopt()用来分析命令行参数。参数argc和argv是由main()传递的参数个数和内容。参数 optstring为选项字符串, 告知 getopt()可以处理哪个选项以及哪个选项需要参数
2013-03-07 09:11:40 302
转载 argc argv
argc是参数个数,定义为intargv是字符串数组,存的是参数,定义为char**或者char* argv[]比如你编译好的程序为my.exe在命令行执行 my.exe 1 2 3那argc就是4,argv[0]是"my.exe",argv[1]是"1",argv[2]是"2",argv[3]是"3";
2013-01-31 12:55:51 270
原创 gnuplot常见用法
gnuplot> plot "cbr_jitter" with lines //连线画出Gtk-Message: Failed to load module "canberra-gtk-module"gnuplot> set xlabel "simulation time" //x坐标gnuplot> set ylabel "jitter" //y坐
2013-01-27 20:41:47 326
转载 exec
http://www.360doc.com/content/12/0331/08/9546207_199508549.shtmlexec函数族的作用是根据指定的文件名找到可执行文件,并用它来取代调用进程的内容,换句话说,就是在调用进程内部执行一个可执行文件。这里的可执行文件既可以是二进制文件,也可以是任何Linux下可执行的脚本文件,如果不是可以执行的文件,那么就解释成为一个shell文件,s
2013-01-25 14:52:51 215
转载 read用法
http://baike.baidu.com/view/127074.htm#4read(由已打开的文件读取数据)相关函数readdir,write,fcntl,close,lseek,readlink,fread表头文件#include定义函数ssize_t read(int fd,void * buf ,size_t count);函数说明read()会
2013-01-24 21:18:14 143
转载 void用法
http://baike.baidu.com/view/1004734.htm规则四如果函数的参数可以是任意类型指针,那么应声明其参数为void *典型的如内存操作函数memcpy和memset的函数原型分别为:void * memcpy(void *dest, const void *src, size_tlen);void * memset ( void * buf
2013-01-24 21:13:13 225
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人