1、示例分析
tcl语法与python相差不多,以《NS与网络模拟》中的第一个tcl脚本为例,学习如下:
#建立一个Simulator对象的实例并把它赋值给变量ns
set ns [new Simulator]
#打开一个名为linktrace.tr的文件,用来记录模拟过程的trace数据,变量nf指向该文件
set nf [open linktrace.tr w]
$ns trace-all $nf
#打开一个名为namtrace.nam的文件,用来记录nam的trace数据,变量namtracefd指向该文件
set namtracefd [open linktrace.nam w]
$ns namtrace-all $namtracefd
#Define a 'finish' procedure
#建立一个名为finish的过程,用来关闭两个trace文件,并调用nam程序
proc finish {} {
global ns nf namtracefd
$ns flush-trace
#Close the NAM trace file
close $nf
close $namtracefd
#Execute NAM on the trace file
exec nam linktrace.nam &
exit 0
}
#Create four nodes 创建2个节点并分别赋值给n0和n1
set n0 [$ns node]
set n1 [$ns node]
#Create links between the nodes ,设定带宽为1Mbit/s,延时为10ms,队列类型为DropTai