Hitesh Khandelwal wrote:
> 
> 
> I want to have TCP socket support for NS2. On searching I came across
> gnutella project which implemented TCP sockets for NS2. (
> http://www.cc.gatech.edu/computing/compass/gnutella/install.html). I
> followed the instructions given on the page and recompiled NS2
> successfully.
> But when I tried to compile the test program given
> http://www.cc.gatech.edu/computing/compass/gnutella/socket.tcl I got the
> following error:
> 
> ------------------------------
> ---------------------------------------------------------
> $ ns socket.tcl
> 
>     (_o3 cmd line 1)
>     invoked from within
> "_o3 cmd create-sock 0 _o28 6346"
>     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 "_o3" line 2)
>     (SplitObject unknown line 2)
>     invoked from within
> "$ns create-sock $id0 $srv 6346"
>     invoked from within
> "set ssock [$ns create-sock $id0 $srv 6346]"
>     (file "socket.tcl" line 8)
> ---------------------------------------------------------------------------------------
> 
> Has anyone else also faced the same problem? Please help me to sort this
> problem. (NS2 version 2.31)
> Is there any other code available for TCP socket support for NS2 ?
> Thanks in advance.
> 
> Hitesh Khandelwal
> IIT Kanpur, INDIA
> 
> 

I ran into a similar error and realized there are a couple of wrong calls to
TCL procedures that cause the code to return errors. I guess it's old
procedures that have changed names since the code was released.

Anyway, I avoided those errors by making the following changes to
ns-gnutella.tcl:

-Substitute  $node bind $tagent $port
 With          $node attach $tagent $port

-Substitute   set port_ [$node bind $tagent 0]
 With           set port_ [$node attach $tagent 0]

-Substitute set bip [$lagent myipaddr]
                set bport [$lagent myport]

 With         set bip [$lagent addr]
                set bport [$lagent port]


This way I got the script to overcome that error. Anyway, many other issues
open after this. If someone has experience in using the Tcp Socket code,
please answer. I need to get this working and it looks like nobody is
supporting the code right now. 

-- 
View this message in context: 
http://www.nabble.com/TCP-socket-support-for-NS2-tp16379848p25680954.html
Sent from the ns-users mailing list archive at Nabble.com.

Reply via email to