[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: I can't use LAN broadcast! Help ME~~~~
If you're using unicast addresses, and have multiple receivers, what
are you setting your sender dest. address to?
"���" <[email protected]> writes:
> MIME ������ ��Ƽ-��Ʈ �����Դϴ�.
> --------------8D44BBFFC65BCF89C09592C9
> Content-Type: multipart/alternative; boundary="------------DBEE14C2FA404A1E77CEF2FC"
>
>
> --------------DBEE14C2FA404A1E77CEF2FC
> Content-Type: text/plain; charset=iso-2022-kr
> Content-Transfer-Encoding: 7bit
>
> Hi everyone~~
>
> I developed Group communication protocol, in LAN
> and, i successed make lan, connect, and broadcast...
> But receiver nodes couldn't receive messages in message agent..
> ( i just attached message agent to whole lan node.....)
>
> How can All Node receive receive message in application layer ( message
> agent)????
> please ~~~ it is very immediately job...
> my dead time is
> tomorrow~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>
> please~~~~~~~~~~~~~~~~~~ experts~~~~~~~
>
> ps : I attach my simple source... please anyone talk to me
> =============================================================================
>
> --------------DBEE14C2FA404A1E77CEF2FC
> Content-Type: text/html; charset=iso-2022-kr
> Content-Transfer-Encoding: 7bit
>
> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
> <HTML>
> Hi everyone~~
> <P>I developed Group communication protocol, in LAN
> <BR>and, i successed make lan, connect, and broadcast...
> <BR>But <B><FONT COLOR="#3333FF">receiver nodes couldn't receive messages
> in message agent..</FONT></B>
> <BR>( i just attached message agent to whole lan node.....)
> <P><B><FONT COLOR="#3333FF">How can All Node receive receive message in
> application layer ( message agent)????</FONT></B>
> <BR>please ~~~ it is very immediately job...
> <BR>my dead time is tomorrow~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> <P>please~~~~~~~~~~~~~~~~~~ experts~~~~~~~
> <P>ps : I attach my simple source... please anyone talk to me
> <BR>=============================================================================</HTML>
>
> --------------DBEE14C2FA404A1E77CEF2FC--
>
> --------------8D44BBFFC65BCF89C09592C9
> Content-Type: application/x-tcl; name="RMP.tcl"
> Content-Transfer-Encoding: 7bit
> Content-Disposition: inline; filename="RMP.tcl"
>
> #!/bin/sh
> # the next line finds ns \
> nshome=`dirname $0`; [ ! -x $nshome/ns ] && [ -x ../../ns ] && nshome=../..
> # the next line starts ns \
> export nshome; exec $nshome/ns "$0" "$@"
>
> if [info exists env(nshome)] {
> set nshome $env(nshome)
> } elseif [file executable ../../ns] {
> set nshome ../..
> } elseif {[file executable ./ns] || [file executable ./ns.exe]} {
> set nshome "[pwd]"
> } else {
> puts "$argv0 cannot find ns directory"
> exit 1
> }
> set env(PATH) "$nshome/bin:$env(PATH)"
>
> puts "source /disk2/netsim/ns-2.1b/tcl/ex/timer.tcl...."
> source /netsim/ns/ns-2.1b5/tcl/ex/timer.tcl
>
> set opt(tr) "RMP.tr"
> set opt(namtr) "RMP.nam"
> set opt(seed) 0
> set opt(stop) 20
> set opt(node) 8
>
> set opt(qsize) 100
> set opt(bw) 10Mb
> set opt(delay) 1ms
> set opt(ll) LL
> set opt(ifq) Queue/DropTail
> set opt(mac) Mac/Csma/Cd
> set opt(chan) Channel
> set opt(tcp) TCP/Reno
> set opt(sink) TCPSink
>
>
> proc finish {} {
> global env nshome pwd
> global ns opt trfd
>
> $ns flush-trace
> close $trfd
>
> exec nam RMP.nam &
>
> exit 0
> }
>
> proc create-trace {} {
> global ns opt
>
> if [file exists $opt(tr)] {
> catch "exec rm -f $opt(tr) $opt(tr)-bw [glob $opt(tr).*]"
> }
>
> set trfd [open $opt(tr) w]
> $ns trace-all $trfd
> if {$opt(namtr) != ""} {
> $ns namtrace-all [open $opt(namtr) w]
> }
> return $trfd
> }
>
> proc create-topology {} {
> global ns opt
> global lan node source node(0)
>
> set num $opt(node)
> for {set i 0} {$i < $num } {incr i} {
> set node($i) [$ns node]
> lappend nodelist $node($i)
> # puts node($i) = [$node($i) id]
> }
>
> set lan [$ns newLan $nodelist $opt(bw) $opt(delay) \
> -llType $opt(ll) -ifqType $opt(ifq) \
> -macType $opt(mac) -chanType $opt(chan)]
> #[$lan set mcl_] set bcast_ 1
>
> # set node0 [$ns node]
> # $ns duplex-link $node0 $node(0) 2Mb 2ms DropTail
> # $ns duplex-link-op $node0 $node(0) orient right
> }
>
> Class Agent/Message/Sender -superclass {Agent/Message Timer}
> Class Agent/Message/Receiver -superclass Agent/Message
>
> Agent/Message/Sender instproc init {} {
> $self next
> $self reset
> $self set window_ 4
> $self set incriment 0
> }
>
> Agent/Message/Sender instproc reset {} {
> $self instvar seqno_ ack_
> set seqno_ 0
> set ack_ 0
> }
>
> Agent/Message/Sender instproc start {} {
> $self transmit
> }
>
> Agent/Message/Sender instproc reset_timer {} {
> $self cancel
> #$self sched 0.05
> }
>
> Agent/Message/Sender instproc timeout {} {
> $self instvar seqno_ ack_
> set seqno_ $ack_
> $self transmit
> }
>
> Agent/Message/Sender instproc cansend {} {
> $self instvar seqno_ window_ ack_ addr_
> #puts "seqno($seqno_) ack($ack_) window($window_) addr($addr_)"
>
> return [expr $seqno_ < $ack_ + $window_]
> }
>
> Agent/Message/Sender instproc sendnext {} {
> $self instvar seqno_ addr_
> lappend MSG [expr $seqno_] [expr $addr_]
> #puts "seqno($seqno_) addr($addr_)"
> $self send $MSG
> #$self send $seqno_
> incr seqno_
> $self reset_timer
> }
>
> Agent/Message/Sender instproc transmit {} {
> while [$self cansend] {
> $self sendnext
> }
> }
>
> Agent/Message/Sender instproc recv msg {
> #$self instvar incriment
> $self instvar ack_
>
> #if { 2 == [ llength msg ] } {
> # set incriment [incr incriment]
> # puts "$incriment"
> set ack_ $msg
> $self transmit
> #}
> }
>
> Agent/Message/Sender set packetSize_ 400
> Agent/Message/Receiver set packetSize_ 40
>
> Agent/Message/Receiver instproc init {} {
> $self set mlist { 0 0 0 0 }
> $self next
> $self reset
> }
>
> Agent/Message/Receiver instproc reset {} {
> $self instvar ack_
> set ack_ 0
> }
>
> Agent/Message/Receiver instproc recv msg {
> $self instvar ack_ dst_ mlist
> set temp1 0
> set temp2 0
> set temp3 0
> set seqno [ lindex $msg 0 ]
> #puts "Sequence Numer : $seqno Address : [lindex $msg 1]"
> #$self instvar MSGack_
> if { [lindex $msg 1] == 0 } {
> $self set ack_ [ lindex $mlist 0 ]
> set temp1 [ lindex $mlist 1 ]
> set temp2 [ lindex $mlist 2 ]
> set temp3 [ lindex $mlist 3 ]
> if { $seqno == $ack_ } {
> #puts "=================="
> #puts "Ack List : $mlist "
> #puts "First Node Receive"
> incr ack_
> set mlist [ lreplace mlist 0 3 $ack_ $temp1 $temp2 $temp3]
> #puts "ACK NUM : $ack_"
> #puts "Ack List : $mlist "
> #puts "=================="
> $self set dst_ [lindex $msg 1]
> }
> $self send $ack_
> }
> if { [lindex $msg 1] == 256 } {
> $self set ack_ [ lindex $mlist 1 ]
> set temp1 [ lindex $mlist 0 ]
> set temp2 [ lindex $mlist 2 ]
> set temp3 [ lindex $mlist 3 ]
> if { $seqno == $ack_ } {
> #puts "=================="
> #puts "Second Node Receive"
> incr ack_
> set mlist [ lreplace mlist 0 3 $temp1 $ack_ $temp2 $temp3]
> #puts "ACK NUM : $ack_"
> #puts "Ack List : $mlist "
> #puts "=================="
> $self set dst_ [lindex $msg 1]
> }
> $self send $ack_
> }
> if { [lindex $msg 1] == 512 } {
> $self set ack_ [ lindex $mlist 2 ]
> set temp1 [ lindex $mlist 0 ]
> set temp2 [ lindex $mlist 1 ]
> set temp3 [ lindex $mlist 3 ]
> if { $seqno == $ack_ } {
> #puts "=================="
> #puts "Third Node Receive"
> incr ack_
> set mlist [ lreplace mlist 0 3 $temp1 $temp2 $ack_ $temp3]
> #puts "ACK NUM : $ack_"
> #puts "Ack List : $mlist "
> #puts "=================="
> $self set dst_ [lindex $msg 1]
> }
> $self send $ack_
> }
> if { [lindex $msg 1] == 768 } {
> $self set ack_ [ lindex $mlist 3 ]
> set temp1 [ lindex $mlist 0 ]
> set temp2 [ lindex $mlist 1 ]
> set temp3 [ lindex $mlist 2 ]
> if { $seqno == $ack_ } {
> #puts "=================="
> #puts "Third Node Receive"
> incr ack_
> set mlist [ lreplace mlist 0 3 $temp1 $temp2 $temp3 $ack_ ]
> #puts "ACK NUM : $ack_"
> #puts "Ack List : $mlist "
> #puts "=================="
> $self set dst_ [lindex $msg 1]
> }
> $self send $ack_
> }
> }
>
> set ns [new Simulator]
> set trfd [create-trace]
>
> create-topology
>
> # Sender Setting
> set sndr0 [$ns create-connection Message/Sender $node(0) Message/Receiver $node(7) 0]
> #$ns attach-agent $node0 $sndr0
> $sndr0 set fid_ 0
> $sndr0 set window_ 15
>
> # start up - stop-and-wait
> $ns at 0.1 "$sndr0 start"
>
> $ns at 1.$opt(stop) "finish"
>
> $ns run
>
> --------------8D44BBFFC65BCF89C09592C9--