NS2中如何监测(或打印或记录)链路的队列长度

NS2中如何监测(或打印或记录)链路的队列长度

 利用“monitor-queue”可以监视指定链路的队列的实时变化情况,用法如下:

             set qm [$ns monitor-queue $s0 $r0 [open qm.out w] 0.01]
             $qm set size_
解释:

      1.$ns monitor-queue $n0 $n1 [open qm.out w] 0.01
        依次的含义:“$ns”表示ns对象,“monitor-queue”是ns对象的方法(也可以认为是固定的命令)用来创建队列监视的对象,“$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

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值