From: Mike on
Hello,

I have been working with an application that reads NMFS GPS stanzas
from a GPS unit attached to a serial port. That part is working
great. However, our client wishes to run more than one program that
will read the GPS data at a time.

From what I can tell so far from reading MSDN, there is no way to open
a comm port on windows in non-exclusive mode. Is this true? Is there
a workaround?

If nothing else is found we will have to fall back to a hardware
solution, but even a virtual comm port package that would read data
from a physical comm port and repeat it on multiple virtual ports
would be a good solution.

Does anyone have any experience with this sort of thing?

Thank you for your time,
--Mike Buland
From: ScottMcP [MVP] on
On Apr 26, 4:14 pm, Mike <xagafine...(a)gmail.com> wrote:
> Hello,
>
> I have been working with an application that reads NMFS GPS stanzas
> from a GPS unit attached to a serial port.  That part is working
> great.  However, our client wishes to run more than one program that
> will read the GPS data at a time.
>
> From what I can tell so far from reading MSDN, there is no way to open
> a comm port on windows in non-exclusive mode.  Is this true?  Is there
> a workaround?
>
> If nothing else is found we will have to fall back to a hardware
> solution, but even a virtual comm port package that would read data
> from a physical comm port and repeat it on multiple virtual ports
> would be a good solution.
>
> Does anyone have any experience with this sort of thing?
>
> Thank you for your time,
> --Mike Buland

You are correct that there is no way to open a COM port non-
exclusively. There are some device drivers that provide this
flexibility. Here is one such product (I have no experience with it):

http://www.virtualserialport.com/products/serialsplitter/
From: r_z_aret on
On Mon, 26 Apr 2010 13:14:13 -0700 (PDT), Mike <xagafinelle(a)gmail.com>
wrote:

>Hello,
>
>I have been working with an application that reads NMFS GPS stanzas
>from a GPS unit attached to a serial port. That part is working
>great. However, our client wishes to run more than one program that
>will read the GPS data at a time.
>
>From what I can tell so far from reading MSDN, there is no way to open
>a comm port on windows in non-exclusive mode. Is this true? Is there
>a workaround?
>
>If nothing else is found we will have to fall back to a hardware
>solution, but even a virtual comm port package that would read data
>from a physical comm port and repeat it on multiple virtual ports
>would be a good solution.
>
>Does anyone have any experience with this sort of thing?


Several Windows Mobile devices include a program (called "GPS") that
does it, and does it well.

ScottMcP provided a more relevant answer between when I started to
write and when I posted, but I'll send this anyway.


>
>Thank you for your time,
>--Mike Buland

-----------------------------------------
To reply to me, remove the underscores (_) from my email address (and please indicate which newsgroup and message).

Robert E. Zaret, MVP
PenFact, Inc.
20 Park Plaza, Suite 400
Boston, MA 02116
www.penfact.com
Useful reading (be sure to read its disclaimer first):
http://catb.org/~esr/faqs/smart-questions.html
From: Charlie Gibbs on
In article
<cae5bb08-ef51-4fff-a2c9-f5790ee266b6(a)x1g2000vbo.googlegroups.com>,
xagafinelle(a)gmail.com (Mike) writes:

> I have been working with an application that reads NMFS GPS stanzas
> from a GPS unit attached to a serial port. That part is working
> great. However, our client wishes to run more than one program that
> will read the GPS data at a time.
>
> From what I can tell so far from reading MSDN, there is no way to open
> a comm port on windows in non-exclusive mode. Is this true? Is there
> a workaround?
>
> If nothing else is found we will have to fall back to a hardware
> solution, but even a virtual comm port package that would read data
> from a physical comm port and repeat it on multiple virtual ports
> would be a good solution.
>
> Does anyone have any experience with this sort of thing?

I punted on that one. Since we want to be sure data isn't lost
even if the application program goes down, I wrote a separate
program that reads the serial port, buffers the data to disk,
and accepts TCP/IP connections from application programs that
want the data. If more than one program wants a copy of the
same data, I create multiple buffer in the collection program
and write a copy of the incoming data to each of them, then
dole it out to the client programs independently.

Not the solution you might be looking for, but it works well
and avoids bending the rules.

--
/~\ cgibbs(a)kltpzyxm.invalid (Charlie Gibbs)
\ / I'm really at ac.dekanfrus if you read it the right way.
X Top-posted messages will probably be ignored. See RFC1855.
/ \ HTML will DEFINITELY be ignored. Join the ASCII ribbon campaign!