2013-05-17 1 views
-1

이 문제를 어떻게 해결해야합니까? 하나 이상의 에이전트를 하나의 에이전트에 연결하는 데 문제가 있습니다. 하나의 에이전트에 둘 이상의 응용 프로그램을 연결하는 ns2

  1. 내가 대상에 손실 모니터 에이전트를 첨부 : 내 환경에서

    두 개의 노드가 있습니다 (원본 및 대상) (나는 Ubuntu12.10에 ns2.35를 실행하고) 이곳은 몇 가지 기능입니다 마디.

  2. 소스 노드에 udp 에이전트를 연결했습니다. 나는 오류를 가지고

    set nExpGen 9 
    for {set i 1} {$i <= $nExpGen} {incr i} { 
        set eee($i) [new Application/Traffic/Exponential] 
        $eee($i) attach-agent $udp 
        $ns connect $eee($i) $lmt 
    #nExpGen= number of exponential generators 
    #eee = exponential application 
    #lmt = loss-monitor agent 
    
  3. :

  4. 내가 다음 선언하여 UDP 에이전트에 9 응용 프로그램을 연결 "에이전트 주소를 읽어 기운 다 : 그런 변수 .."내 TCL 파일을 실행하면 ([오류 메시지가 표시 ])

  5. 잘못된 방법으로 이러한 응용 프로그램을 에이전트에 연결 했습니까? 어떻게 해결할 수 있습니까?

감사합니다.

[오류 메시지]

can't read "agent_addr_": no such variable 
    while executing 
"subst $[subst $var]" 
    (procedure "_o40" line 5) 
    (Object next line 5) 
    invoked from within 
"_o40 next agent_addr_" 
    ("eval" body line 1) 
    invoked from within 
"eval $self next $args" 
    (procedure "_o40" line 11) 
    (Application/Traffic set line 11) 
    invoked from within 
"$dst set agent_addr_" 
    (procedure "_o3" line 2) 
    (Simulator simplex-connect line 2) 
    invoked from within 
"$self simplex-connect $dst $src" 
    (procedure "_o3" line 10) 
    (Simulator connect line 10) 
    invoked from within 
"$ns connect $eee($i) $lmt" 
    ("for" body line 4) 
    invoked from within 
"for {set i 1} {$i <= $nExpGen} {incr i} { 
     set eee($i) [new Application/Traffic/Exponential] 
     $eee($i) attach-agent $udp 
     $ns con..." 
    (file "myTest3.tcl" line 47) 
+0

모델 내의 응용 프로그램 엔터티는 있습니까? –

+0

예. 기본 지수 응용 프로그램을 사용합니다. – DartKouth

+1

'subst $ [subst $ var]'를 봅니다! 나는 __triple__ 대체를 요청할 수도 있습니다. 그게 내 머리를 아프게합니다. OMG ... –

답변

0

나는 해결책을 가지고 : 을 다음 명령문은 두 개의 "에이전트"사이의 연결을 구축 (여기에서 $ a와 $ B).

$ns connect $A $B 

이 질문에 대해서는 UDP 에이전트와 LossMonitor 에이전트를 연결해야합니다 (for for loop 외부).

$ns connect $udp $lmt 

"에이전트"에 "응용 프로그램"을 연결하면 컴파일 오류가 발생합니다.