paparazzi-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Paparazzi-devel] ivybus issues


From: Andre Devitt
Subject: Re: [Paparazzi-devel] ivybus issues
Date: Tue, 28 Sep 2010 01:51:59 -0400

James-
   I'm no a networking expert either but this forum post
[http://www.developerweb.net/forum/showthread.php?t=5232] addresses a
UDP broadcast issue that sounds suspiciously similar to the symptoms
you are experiencing, particularly: "last instance is able to send(),
and all of the others are able to recv(). But what I want is, for all
instances to be able to send() and recv() at all times!"
   Unsure why behavior on local machine would be different but the
similarity in the results of the cited code / solutions makes me think
this may be whats going on.
   How is your application using the connect/bind functions? Haven't
looked at the ivy source but seems that if client app was
bound/connected in similar fashion to the example code in the post you
might see that behavior.

Andre.

On Mon, Sep 27, 2010 at 3:26 PM, James Peverill
<address@hidden> wrote:
>
> I am developing an ivybus application which is designed to display the
> vehicles position (ie read the GPS message).  The software will run on
> another machine (separate IP, running on windows).  I'm having some trouble
> with the Ivybus.  Basically it works, but I only get messages from the last
> IvyBus program that started.  Ie if Datalink was last to start, I hear
> datalink.  If server was last to start, I hear server... but not both.
>
> This is easy to see if you run the simulator, and run ivyprobe on your local
> machine you see messages from server and sim.  If you run on another machine
> (with ivyprobe -b <ipaddr> '(.*)'), you see messages from only one of them
> (whichever started most recently).  Starting and stopping them in a
> different order will change which one you can see, but still you can hear
> from only one.
>
> I'm not a networking expert, but it appears that, when a process trying to
> attach to an IvyBus on a different machine, it will only connect with the
> last program that's bound to the port on that machine. In other words, the
> bind() from each program prevents previously running programs on that host
> from seeing the broadcast from the remote program. This is consistent with
> the notion that only one process on the machine can bind to a given UDP port
> at a time.
>
> The interesting thing is multiple programs on the same machine using
> 127.0.0.1 (localhost), don't seem to have the same problem - they each come
> up and can see each other program. What am I missing here?
>
> Thanks for your help!
>
>
> James
>
>
> _______________________________________________
> Paparazzi-devel mailing list
> address@hidden
> http://lists.nongnu.org/mailman/listinfo/paparazzi-devel
>



reply via email to

[Prev in Thread] Current Thread [Next in Thread]