在用ns2进行网络视频通信仿真的时候,先要为我们自己的ns2添加evalvid或者myevalvid框架。其中myevalvid框架是由柯志亨老师整合evalvid和ns2之后得出的新框架,笔者建议大家安装该框架,而不要安装原生的evalvid框架。这样就可以结合柯志亨老师的《ns2仿真实验-----多媒体和无线网络通信》这本书,做配套的实验,比较方便。
网上关于myevalvid框架的安装文章很多,大家可以参考去做,笔者会在本文最后给出相关的链接。本文主要是对myevalvid框架源码中的错误进行更正,这个错误笔者经过两天才找出原因,希望对大家有所帮助。
纠正1:将文件my_udp.cc中的第9行my_UdpAgentClass() : TclClass("Agent/my_UDP") {} 改正为:my_UdpAgentClass() : TclClass("Agent/UDP/my_UDP") {}
纠正2:网上所有的安装文章让大家在ns-2.35/tcl/lib/ns-default.tcl中添加Agent/my_UDP set packetSize_ 1000,在这里要将添加内容改正为Agent/UDP/my_UDP set packetSize_ 1000
纠正3:将lab19实验的lab19_1.tcl文件中第147行set udp1 [new Agent/my_UDP] 改正为:set udp1 [new Agent/UDP/my_UDP]
至此,myevalvid和lab19实验的错误就改正完了。但是,由于lab19的实验也用到了lab18中的无线传输遗失模型。所以做lab19之前也要先为你的ns2.35安装无线传输遗失模型,具体做法参考上篇博文。安装完毕后,还要改正lab19_1.tcl中的几处代码,具体如下。同理,lab19_2.tcl要改的地方和lab19_1.tcl完全一样,不再赘述。
打开lab19_1.tcl,将152-156行代码注释掉。在164行添加$ns_ connect $udp1 $null1。具体行号略有不同,大家找着。
友情链接:
该链接中包含了myevalvid框架和安装方法