NS2学习之路

柯老师的NS2新网址

http://csie.nqu.edu.tw/smallko/ns2/measure.htm

遇见错误:

Administrator@WIN-4CFQRGDACUS ~/ns-allinone-2.35/ns-2.35/tcl/ex
$ ns mytest1.tcl
invalid command name "Agent/TCPSink/mTcpSink"
    while executing
"Agent/TCPSink/mTcpSink create _o84 "
    invoked from within
"catch "$className create $o $args" msg"
    invoked from within
"if [catch "$className create $o $args" msg] {
if [string match "__FAILED_SHADOW_OBJECT_" $msg] {
delete $o
return ""
}
global errorInfo
error "class $..."
    (procedure "new" line 3)
    invoked from within
"new Agent/TCPSink/mTcpSink"
    invoked from within
"set sink [new Agent/TCPSink/mTcpSink]"
    (file "mytest1.tcl" line 49)

解决方案:网上搜的

mUDP,mUdpSink,mTcpsink是NS2中没有的,是后来人写的。所以要使用此功能必须自行加入。

---------------------------------------------------------------------

    mUDP是UDP的延伸,除了具有UDP的功能外,还能记录所发送的包的信息。mUdpSink可以把接收到的包的信息记录到文件中。加入步骤:

    1.下载mUDP, mUdpSink的文件,要下载的有下列几个文件:
       mudp.cc、mudp.h、mudpsink.cc、mudpsink.h

       下载地址:http://140.116.72.80/~smallko/ns2/measure/

    2.新建/ns-allinone-2.33/ns-2.33/measure文件夹,把这四个文件放入其中。

    3.修改/ns-allinone-2.33/ns-2.33/common/packet.h,把如下程序加入struct hdr_cmn{}中。

            int frametype_; //added by smallko

            double  sendtime_;  // added by smallko

            unsigned int pkt_id_; // added by smallko

            unsigned int frame_pkt_id_; //added by smallko

    4.修改/ns-allinone-2.33/ns-2.33/Makefile,把如下程序加入OBJ_CC下一行。
            measure/mudp.o measure/mudpsink.o \

    5.修改/ns-allinone-2.33/ns-2.33/tcl/lib/ns-default.tcl,把如下程序加入Agent/Ping set packetSize_ 64下一行。

            Agent/mUDP set packetSize_ 1000

    6.在/ns-allinone-2.33/ns-2.33目录下执行make clean,make命令,就OK了。

---------------------------------------------------------------------

    mTcpSink是TCPsink的延伸,除了具有TCPSink功能外,还能记录所发出的包的信息。加入步骤:

    1.下载mtcpsink.cc, mtcpsink.h,放入/ns-allinone-2.33/ns-2.33/measure文件夹中,下载地址同上。

    2.修改/ns-allinone-2.33/ns-2.33/Makefile,把如下程序加入OBJ_CC下一行。    

                           measure/mtcpsink.o \

    3.在/ns-allinone-2.33/ns-2.33目录下执行make clean,make命令,就OK了。

如果使用的是2.31版本,可参考http://bilsted.blogspot.com/2008/09/mudp-mudpsink.html一文。


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值