最近在自学NS -2,遇到了一些问题,对照《NS与网络模拟》一书中的第一个例子自己操作了一下,但是一直在报错。各位大神能否帮忙解答一下,万分感谢!!!!
代码如下
set ns [new Simulator]
set tracefd [open example1.tr w]
$ns trace-all $tracefd
set namtracefd [open example1.nam w]
$ns namtrace-all $namtracefd
proc finish {} {
global ns tracefd namtracefd
$ns flush-trace
close $tracefd
close $namtracefd
exec nam example1.nam &
exit 0
}
set n0 [$ns node]
set n1 [$ns node]
$ns duplex-link $n0 $n1 1Mb 10ms DropTail
set udp0 [new Agent/UDP]
$ns attach-agent $n0 $udp0
set cbr0 [new Application/Traffic/CBR]
$cbr0 set packetSize_500
$cbr0 set interval_0.005
$cbr0 attach-agent $udp0
set null0 [new Agent/Null]
$ns attach-agent $n1 $null0
$ns connect $udp0 $null0
$ns at 0.5 "$cbr0 start"
$ns at 4.5 "$cbr0 stop"
$ns at 5.0 "finish"
$ns run
报错结果如下
这个packet定义书上就是这样写的,我不知道到底错在了那里T-T
还有一个问题就是nam我已经安装好了,也能打开out.nam文件,可是打不开自己编写并且编译通过tcl脚本生成的nam
————————————————————————————————————————————————————————
—————————————————————————————————————问题解决了!!!!!!!!
第一个问题应该在packetSize_后面加空格,语法规范和C太不一样了,书上印刷看不太出来,tcl脚本的空格起得作用太大了
$cbr0 set packetSize_ 500