[英]Request Packet Generation Code in NS2 Tcl/Tk
for {set i 0} {$i < $num_nodes} {incr i} {
for {set j 0} {$j < 10} {incr j} {
$ns at [expr 7.2+[expr rand()*3.0]] "$n($i) send_message 10 1 {[expr round([expr rand()*100000])]:[expr round([expr rand()*$numdata1])]:1:-1:-1} $MESSAGE_PORT"
set generated1 [expr $generated1 + 1]
}
}
我正在建立代碼,用於在tcl ns2中生成請求數據包。 我從互聯網上找到了這條線,但我聽不懂這條線:
$ns at [expr 7.2+[expr rand()*3.0]] "$n($i) send_message 10 1 {[expr round([expr rand()*100000])]:[expr round([expr rand()*$numdata1])]:1:-1:-1} $MESSAGE_PORT"
請告訴我上述幾行背后的邏輯是什么?
首先,這是嵌套expr
的錯誤使用。 清理:
$ns at [expr {7.2+rand()*3.0}] "$n($i) send_message 10 1 {[expr {round(rand()*100000)}]:[expr {round(rand()*$numdata1)}]:1:-1:-1} $MESSAGE_PORT"
逐字查看:
$ns
at
[expr {7.2+rand()*3.0}]
"$n($i) send_message 10 1 {[expr {round(rand()*100000)}]:[expr {round(rand()*$numdata1)}]:1:-1:-1} $MESSAGE_PORT"
$n($i)
<==鍵$i
的關聯數組值 [expr {round(rand()*100000)}]
<== 0到100,000之間的隨機整數 [expr {round(rand()*$numdata1)}]
<== 0到$numdata1
之間的隨機整數 在Tcl取代所有這些之后,我們可能會遇到類似
nsValue at 9.99934 "nValue send_message 10 1 {42:1234:1:-1:1} 8080"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.