[ns] help urgent please
nature-ca@voila.fr
nature-ca at voila.fr
Thu Nov 29 13:45:04 PST 2007
Hi ns-users,
when I run this example I have this error
On envoie le fichier de 3000Ko
ns: record: invalid command name ""
while executing
"$flow set bdepartures_"
(procedure "record" line 8)
invoked from within
"record"
the example is
set ns [new Simulator]
#création des fichiers de trace du monitor
set filetrace [open out.tr w]
#function Final
proc finish {} {
global ns flowmon fcl filetrace
#On ferme le fichier de trace du monitor
close $filetrace
#On lance le programme Xgraph
exec xgraph out.tr -geometry 800x400 &
#on termine le programme NS
exit 0
}
#function Record
proc record {} {
global ns flowmon bwOld filetrace
set fid 1
#Set the time after which the procedure should be called again
set time 0.5
#How many bytes have been received by the traffic sinks?
set flow [[$flowmon classifier] lookup auto 0 0 $fid]
set bw [$flow set bdepartures_]
#Get the current time
set now [$ns now]
#Calculate the bandwidth (in MBit/s) and write it to the files
puts $filetrace "$now [expr ($bw-$bwOld)/$time*8/1000000]"
#extra information
if {$flow != "" } {
set bytes [$flow set bdepartures_]
puts "class: $fid per-link pkts [$flow set pdepartures_]"
puts "Kbytes [expr $bytes / 1000]"
puts "drops [$flow set pdrops_]"
puts "marks [$flow set pmarks_]"
}
set bwOld $bw
#Re-schedule the procedure
$ns at [expr $now+$time] "record"
}
#création des noeuds
set n0 [$ns node]
set n1 [$ns node]
#création du lien entre les deux noeuds
$ns duplex-link $n0 $n1 50.0Mb 200.0ms DropTail
$ns queue-limit $n0 $n1 20
#création de la couche transport
set tcp0 [new Agent/TCP]
$tcp0 set packetSize_ 125
$ns attach-agent $n0 $tcp0
set null0 [new Agent/TCPSink]
$ns attach-agent $n1 $null0
$ns connect $tcp0 $null0
#on initialise le flow monitor
#flow monitor
set flowmon [$ns makeflowmon Fid]
#Attache le monitor au lien
set lien [$ns link $n0 $n1]
$ns attach-fmon $lien $flowmon
#On initialise le model erreur
##Loss Model
set lossModel [new ErrorModel]
$lossModel unit packet
$lossModel set rate_ 0.1
$lossModel ranvar [new RandomVariable/Uniform]
$lossModel drop-target [new Agent/Null]
$ns lossmodel $lossModel $n0 $n1
#scheduler
puts "On envoie le fichier de 3000Ko"
$ns at 10.0 "$tcp0 send 3000000"
$ns at 11.0 "record"
$ns at 100.0 "finish"
#lancement de la simulation
$ns run
More information about the Ns-users
mailing list