>who is doing the UDP broadcast?
output of a GPS
goes to a Nport Moxa 5410 on the network.
>And which version of OpenCPN you are running?
Version 3.3.1419 Build 2014-02-19
I've gone through the instructions again, they don't seem to have the answer I'm looking for. But I have learned how to disable my connections from the .conf file, which is handy if you hose the connections.
I've gone over this a bit more and I think I should give you a bit more background on my existing setup. I'm on a scientific research
vessel, our network is probably a bit more complicated than most. But the main issue seems to be this: Our UDP broadcasts are already on predefined ports. I cannot change them. So GPS comes in on port 55000, and heading comes in on 55100. On my personal laptop
, I have (other) programs that use those ports. Once I start OpenCPN, I no longer can access those ports on my laptop
. I've tried outputting the data via OpenCPN, on the same ports, but it does not seem to work. I'm pretty sure I'm outputting the data properly, as it shows up in the NMEA
debug window, but my other programs are still blocked.
We ran into this same problem with some of our own programs a few years ago. While perl is not C, we made this change to one of our programs to fix this:
Old was this way, it blocks-
$sock = IO::Socket::INET->new(Proto => 'udp', LocalPort => $ARGV);
Changed it to this, it does not block.
$sock = IO::Socket::INET->new(Proto => 'udp', LocalPort => $ARGV, Reuse=>1);
I kind of think of this as the network version of opening a file in read/write mode, versus read only.