Tcl NS-2(网络模拟器)获取TCP窗口时出错:“0”;调用类$cls:$args";$时出错&引用;

Tcl NS-2(网络模拟器)获取TCP窗口时出错:“0”;调用类$cls:$args";$时出错&引用;,tcl,ns2,Tcl,Ns2,我试图在Ubuntu上使用NS-2 2.35版学习一个网络模拟器教程,但我似乎看不到TCP窗口的大小,我得到的错误似乎没有用。守则: set ns [new Simulator] set tcp [new Agent/TCP] $tcp set window_ 1 # This fails! puts [$tcp window] # So does this: #puts [$tcp window_] 输出: (_o10 cmd line 1) invoked from wi

我试图在Ubuntu上使用NS-2 2.35版学习一个网络模拟器教程,但我似乎看不到TCP窗口的大小,我得到的错误似乎没有用。守则:

set ns [new Simulator]
set tcp [new Agent/TCP]
$tcp set window_ 1

# This fails!
puts [$tcp window]
# So does this:
#puts [$tcp window_]
输出:

    (_o10 cmd line 1)
    invoked from within
"_o10 cmd window"
    invoked from within
"catch "$self cmd $args" ret"
    invoked from within
"if [catch "$self cmd $args" ret] {
set cls [$self info class]
global errorInfo
set savedInfo $errorInfo
error "error when calling class $cls: $args" $..."
    (procedure "_o10" line 2)
    (SplitObject unknown line 2)
    invoked from within
"$tcp window"
    invoked from within
"puts [$tcp window]"
    (file "window-test.tcl" line 8)
如何解决此问题并输出TCP窗口大小?更一般地说,是否有一种方法可以获得更多有用的错误?

根据,您可以使用
set
方法来写入和读取实例变量,具体取决于您提供的参数数量。这与基本Tcl
set
命令类似(尽管它并不真正了解实例变量)。因此,在您的情况下,您可以:

puts [$tcp set window_]

谢谢,这就解决了。