IPC windows 95/98/NT/2000 
Author Message
 IPC windows 95/98/NT/2000

Ok,

The basic gist of this is that I have many
processes that need to communicate via anonymous
pipes (not named pipes).. so how to I pass the
anonymous pipe handles between processes?

Longer explanation:

I had implemented interprocess communication
using Named Pipes for my application.. *however*
then I find out that windows 95 and windows 98
cannot use CreateNamedPipe.  My app has to run
under 95/98/NT/2000, so this is a problem.

This is my setup, I have a bunch of DLL's, an
application 'MyServer' that handles all of the
DLL's and a user interface application that
interfaces with 'MyServer'.

So all of these need to communicate.  What I was
doing was setting up 'MyServer' as a named pipe
server and having the dll's and the user
interface application connect to it.  This
doesn't work under windows 95/98.

If I can't do that and I use anonymous pipes..
then how do I pass the pipe handles to 'MyServer'?

Sent via Deja.com http://www.*-*-*.com/
Before you buy.



Mon, 25 Nov 2002 03:00:00 GMT  
 IPC windows 95/98/NT/2000
You can very easily create a named pipe on an NT
server and connect to it from 95/98 workstations.
So, if you can count on the server, at least, running
on NT, then it is easy.

Otherwise, you can use sockets for IPC to 95/98.

Quote:

> Ok,

> The basic gist of this is that I have many
> processes that need to communicate via anonymous
> pipes (not named pipes).. so how to I pass the
> anonymous pipe handles between processes?

> Longer explanation:

> I had implemented interprocess communication
> using Named Pipes for my application.. *however*
> then I find out that windows 95 and windows 98
> cannot use CreateNamedPipe.  My app has to run
> under 95/98/NT/2000, so this is a problem.

> This is my setup, I have a bunch of DLL's, an
> application 'MyServer' that handles all of the
> DLL's and a user interface application that
> interfaces with 'MyServer'.

> So all of these need to communicate.  What I was
> doing was setting up 'MyServer' as a named pipe
> server and having the dll's and the user
> interface application connect to it.  This
> doesn't work under windows 95/98.

> If I can't do that and I use anonymous pipes..
> then how do I pass the pipe handles to 'MyServer'?

> Sent via Deja.com http://www.deja.com/
> Before you buy.



Mon, 25 Nov 2002 03:00:00 GMT  
 IPC windows 95/98/NT/2000
I don't need to communicate between machines on different computers.
I'm only interested in communicating between processes on a local
computer.  Are sockets good for this?  I've never used sockets for
local IPC.

--
Conor



Quote:
> You can very easily create a named pipe on an NT
> server and connect to it from 95/98 workstations.
> So, if you can count on the server, at least, running
> on NT, then it is easy.

> Otherwise, you can use sockets for IPC to 95/98.




Quote:
> > Ok,

> > The basic gist of this is that I have many
> > processes that need to communicate via anonymous
> > pipes (not named pipes).. so how to I pass the
> > anonymous pipe handles between processes?

> > Longer explanation:

> > I had implemented interprocess communication
> > using Named Pipes for my application.. *however*
> > then I find out that windows 95 and windows 98
> > cannot use CreateNamedPipe.  My app has to run
> > under 95/98/NT/2000, so this is a problem.

> > This is my setup, I have a bunch of DLL's, an
> > application 'MyServer' that handles all of the
> > DLL's and a user interface application that
> > interfaces with 'MyServer'.

> > So all of these need to communicate.  What I was
> > doing was setting up 'MyServer' as a named pipe
> > server and having the dll's and the user
> > interface application connect to it.  This
> > doesn't work under windows 95/98.

> > If I can't do that and I use anonymous pipes..
> > then how do I pass the pipe handles to 'MyServer'?

> > Sent via Deja.com http://www.deja.com/
> > Before you buy.

Sent via Deja.com http://www.deja.com/
Before you buy.


Mon, 25 Nov 2002 03:00:00 GMT  
 IPC windows 95/98/NT/2000
For communicating within one machine, the WM_COPYDATA message
is convenient, once you identify the windows associated with the
processes.  Sockets will work, but your system must have networking
installed.  Are you sure all potential users will have that?

You can also use named memory maps.  See CreateFileMapping(),
MapViewOfFile(), OpenFileMapping() etc.

Quote:

> I don't need to communicate between machines on different computers.
> I'm only interested in communicating between processes on a local
> computer.  Are sockets good for this?  I've never used sockets for
> local IPC.

> --
> Conor



> > You can very easily create a named pipe on an NT
> > server and connect to it from 95/98 workstations.
> > So, if you can count on the server, at least, running
> > on NT, then it is easy.

> > Otherwise, you can use sockets for IPC to 95/98.



> > > Ok,

> > > The basic gist of this is that I have many
> > > processes that need to communicate via anonymous
> > > pipes (not named pipes).. so how to I pass the
> > > anonymous pipe handles between processes?

> > > Longer explanation:

> > > I had implemented interprocess communication
> > > using Named Pipes for my application.. *however*
> > > then I find out that windows 95 and windows 98
> > > cannot use CreateNamedPipe.  My app has to run
> > > under 95/98/NT/2000, so this is a problem.

> > > This is my setup, I have a bunch of DLL's, an
> > > application 'MyServer' that handles all of the
> > > DLL's and a user interface application that
> > > interfaces with 'MyServer'.

> > > So all of these need to communicate.  What I was
> > > doing was setting up 'MyServer' as a named pipe
> > > server and having the dll's and the user
> > > interface application connect to it.  This
> > > doesn't work under windows 95/98.

> > > If I can't do that and I use anonymous pipes..
> > > then how do I pass the pipe handles to 'MyServer'?

> > > Sent via Deja.com http://www.deja.com/
> > > Before you buy.

> Sent via Deja.com http://www.deja.com/
> Before you buy.



Tue, 26 Nov 2002 03:00:00 GMT  
 IPC windows 95/98/NT/2000
I ended up using named memory maps with mutexes and events for
synchronization.  It seems to work on all windows platforms equally
well. There is a good article in the 'Threads and IPC' section of Code
Project.  http://www.codeproject.com



Quote:
> For communicating within one machine, the WM_COPYDATA message
> is convenient, once you identify the windows associated with the
> processes.  Sockets will work, but your system must have networking
> installed.  Are you sure all potential users will have that?

> You can also use named memory maps.  See CreateFileMapping(),
> MapViewOfFile(), OpenFileMapping() etc.




Quote:
> > I don't need to communicate between machines on different computers.
> > I'm only interested in communicating between processes on a local
> > computer.  Are sockets good for this?  I've never used sockets for
> > local IPC.

> > --
> > Conor



> > > You can very easily create a named pipe on an NT
> > > server and connect to it from 95/98 workstations.
> > > So, if you can count on the server, at least, running
> > > on NT, then it is easy.

> > > Otherwise, you can use sockets for IPC to 95/98.



> > > > Ok,

> > > > The basic gist of this is that I have many
> > > > processes that need to communicate via anonymous
> > > > pipes (not named pipes).. so how to I pass the
> > > > anonymous pipe handles between processes?

> > > > Longer explanation:

> > > > I had implemented interprocess communication
> > > > using Named Pipes for my application.. *however*
> > > > then I find out that windows 95 and windows 98
> > > > cannot use CreateNamedPipe.  My app has to run
> > > > under 95/98/NT/2000, so this is a problem.

> > > > This is my setup, I have a bunch of DLL's, an
> > > > application 'MyServer' that handles all of the
> > > > DLL's and a user interface application that
> > > > interfaces with 'MyServer'.

> > > > So all of these need to communicate.  What I was
> > > > doing was setting up 'MyServer' as a named pipe
> > > > server and having the dll's and the user
> > > > interface application connect to it.  This
> > > > doesn't work under windows 95/98.

> > > > If I can't do that and I use anonymous pipes..
> > > > then how do I pass the pipe handles to 'MyServer'?

> > > > Sent via Deja.com http://www.deja.com/
> > > > Before you buy.

> > Sent via Deja.com http://www.deja.com/
> > Before you buy.

Sent via Deja.com http://www.deja.com/
Before you buy.


Sun, 01 Dec 2002 03:00:00 GMT  
 
 [ 5 post ] 

 Relevant Pages 

1. strcpy(x, x) works in NT/2000 but not 95/98

2. Reading registry values in 95/98 compared to NT/2000

3. Getting MAC Address in WIndows 98 and NT/2000/NT

4. Different mnemonics behaviour on 95/98 and 2000/XP

5. Application runs on 2000 but not on 98 or 95

6. DCOM with windows NT/ 95-98

7. Compatibility Windows NT, 98 and 95 ...?

8. Differences between Windows NT, 98 and 95.

9. Code does not run under windows 95/98 but on NT

10. Is programming windows 98 the same as programming windows 2000

11. Porting Windows 2000 program to windows 98

12. VC++, windows 2000 and windows 98

 

 
Powered by phpBB® Forum Software