标签:des style http color io ar for strong sp
set ns [new Simulator]
$ns now // Returns the current simulation time
|
set ns [new Simulator] $ns at 1.0 {puts "Point 1: Now = [$ns now]"} $ns at 8.0 {puts "Point 2: Now = [$ns now]"} $ns at 4.0 {puts "Point 3: Now = [$ns now]"} $ns run // Run simulation ! |
Point 1: Now = 1
Point 3: Now = 4
Point 2: Now = 8
|
Notice that Point 3 happens before Point 2
set ns [new Simulator] $ns at 1.0 {puts "Point 1: ..."} // Schedule event at time 1.0 $ns at 8.0 {puts "Point 2: ..."} // Schedule event at time 8.0 $ns at 4.0 {puts "Point 3: ..."} // Schedule event at time 4.0 $ns run // Run simulation ! |
So when the simulation is run, the events are "fired" in chronological order
set ns [new Simulator]
... (set up simulation network)
$ns run // run simulation
|
set ns [new Simulator] #Define the ‘finish‘ procedure proc finish {} { exit 0 } ... (set up simulation network) #Set simulation end time $ns at 100.0 "finish" $ns run // run simulation |
proc person1 {x} { global ns puts "Person 1:" puts " Hey, $x, time is [$ns now], it‘s your turn to say something" $ns at [expr [$ns now] + 0.4] "$x person1" } proc person2 {x} { global ns puts "Person 2:" puts " Hey, $x, time is [$ns now], it‘s your turn to say something" $ns at [expr [$ns now] + 0.6] "$x person2" } set ns [new Simulator] $ns at 0 "person1 person2" $ns at 4.5 "exit 0" $ns run |
Person 1: Hey, person2, time is 0, it‘s your turn to say something Person 2: Hey, person1, time is 0.4, it‘s your turn to say something Person 1: Hey, person2, time is 1, it‘s your turn to say something Person 2: Hey, person1, time is 1.4, it‘s your turn to say something Person 1: Hey, person2, time is 2, it‘s your turn to say something Person 2: Hey, person1, time is 2.4, it‘s your turn to say something Person 1: Hey, person2, time is 3, it‘s your turn to say something Person 2: Hey, person1, time is 3.4, it‘s your turn to say something Person 1: Hey, person2, time is 4, it‘s your turn to say something Person 2: Hey, person1, time is 4.4, it‘s your turn to say something |
#Make a NS simulator set ns [new Simulator] # Define a ‘finish‘ procedure proc finish {} { exit 0 } # Create the nodes: set n0 [$ns node] set n1 [$ns node] set n2 [$ns node] set n3 [$ns node] set n4 [$ns node] set n5 [$ns node] # Create the links: $ns duplex-link $n0 $n2 2Mb 10ms DropTail $ns duplex-link $n1 $n2 2Mb 10ms DropTail $ns duplex-link $n2 $n3 0.3Mb 200ms DropTail $ns duplex-link $n3 $n4 0.5Mb 40ms DropTail $ns duplex-link $n3 $n5 0.5Mb 30ms DropTail # Add a TCP sending module to node n0 set tcp1 [new Agent/TCP/Reno] $ns attach-agent $n0 $tcp1 # Add a TCP receiving module to node n4 set sink1 [new Agent/TCPSink] $ns attach-agent $n4 $sink1 # Direct traffic from "tcp1" to "sink1" $ns connect $tcp1 $sink1 # Setup a FTP traffic generator on "tcp1" set ftp1 [new Application/FTP] $ftp1 attach-agent $tcp1 $ftp1 set type_ FTP (no necessary) # Schedule start/stop times $ns at 0.1 "$ftp1 start" $ns at 100.0 "$ftp1 stop" # Set simulation end time $ns at 125.0 "finish" (Will invoke "exit 0") # Run simulation !!!! $ns run |
http://www.mathcs.emory.edu/~cheung/Courses/558-old/Syllabus/90-NS/2-NS-Prog/events.html
NS Simulation: Scheduling Events (examples inside)
标签:des style http color io ar for strong sp
原文地址:http://www.cnblogs.com/forcheryl/p/4053022.html