On 7/14/06, sorin pasa <[EMAIL PROTECTED]> wrote:
>      I'm trying to create "n" FTP connections from n computers to  n 
> computers (in pairs), connected through a node. I want to start a connection 
> at second 0, and then close it after a second and in the same time open 
> another. I don't know why, but the connections won't start.
>       Please help. ....I'm attaching the code here:
>
>     for {set i 1} {$i <= $clienti_num} {incr i} {
>       set tcp [new Agent/TCP]
>       set sink [new Agent/TCPSink]
>       $ns attach-agent $sfile($i) $tcp
>       $ns attach-agent $peer($i) $sink
>       $ns connect $tcp $sink
>       $tcp set fid_ $i
>       $tcp set window_ 20
>       $tcp set packetSize_ 100
>
>         set ftp($i) [new Application/FTP]
>       $ftp($i) attach-agent $tcp
>       $ftp($i) set type_ FTP
>      }
>
>    for {set i 1} {$i <= $clienti_num} {incr i} {
>         $ns at $i-1 "$ftp start"
>       $ns at $i "$ftp($i) stop"
>       }

Tcl doesn't do arithmetic evaluation by default. To get what you mean
(i.e. a transfer starting 1 second before $i), you need to write
"[expr {$i -1}]" in place of "$i-1". If you declare "global ftp" at
the top of your first for loop, that may help on the possible scoping
issue (I'm not sure how Tcl determines variable scope).

Phil Miller

Reply via email to