NS2中如何监测(或打印或记录)链路的队列长度 利用“monitor-queue”可以监视指定链路的队列的实时变化情况,用法如下: set qm [$ns monitor-queue $s0 $r0 [open qm.out w] 0.01] 1.$ns monitor-queue $n0 $n1 [open qm.out w] 0.01 2.注意上面的命令返回的是一个对象,所以使用set将其赋值给了变量qm,利用此变量进行后续操作。 3.$qm set size_ 返回当前的队列大小。 4.上面的还不能满足需求,需要将其放到一个函数中,下面的是一个较完整的例子: ........省略代码 set qf [open myfile.txt w] proc record {} { #声明全局变量,qf为记录队列大小随时间变化的文本文件 global qm ns qf set now [$ns now] puts $qf "$now [$qm set size_]" $ns at [expr $now + 0.01] "record" } set qm [$ns monitor-queue $n0 $n1 [open qm.out w] 0.01] .......省略代码 $ns at 0.0 "record" ....... $ns run |
NS2中如何监测(或打印或记录)链路的队列长度
最新推荐文章于 2018-01-24 09:49:55 发布