Re: Using COM for interprocess communication?

From: Alexander Nickolov (agnickolov_at_mvps.org)
Date: 11/09/04


Date: Tue, 9 Nov 2004 10:22:04 -0800

Just like in Unix, the best replacement for a socket is not RPC
but a pipe. COM is simply a higher level RPC - object RPC.
I suggest you use pipes instead. These are much closer to sockets
and are suitable for volume data exchange, while COM is not.
As an added benefit, local pipes have beter performance than
sockets. Check out CreatePipe/CreateNamedPipe etc.
However, if your network traffic is already some form of RPC,
COM would probably do better.

-- 
=====================================
Alexander Nickolov
Microsoft MVP [VC], MCSD
email: agnickolov@mvps.org
MVP VC FAQ: http://www.mvps.org/vcfaq
=====================================
"Jeffery Kohler" <jefferykohler@hotmail.com> wrote in message 
news:epruWRoxEHA.2788@TK2MSFTNGP15.phx.gbl...
> Hi folks,
>
> I'm entirely new to the whole Windows programming game -- I'm mostly 
> experienced in Java and unix programmingm.  I could use some advice. I'm 
> starting a new project that involves getting two programs to work 
> together.  I have a client/server (well, P2P) application which I want to 
> modify so I can route all of the network traffic through a proxy process 
> like so:
>
> Client <--> Proxy <--> { Internet } <--> Proxy <--> Server
>
> I'm trying to decide on a method of communication between the 
> client/server application and the proxy.  I figure I could use plain old 
> socket connections (since the client/server app is built for that already) 
> locally.  This is fine and would certainly save me some work, but I don't 
> want the user's local firewalling software (say, something like ZoneAlarm, 
> etc..) to stop this from happening.  I'm trying to avoid even a popup 
> confirmation dialog.
>
> Basically, I want the two processes, client/server and proxy, to work 
> together seemlessly, yet still retain their independance.  So, I'm 
> wondering if I can use COM somehow.  One thought I had was to tear out the 
> networking aspect to the client/server app and make the app into a COM 
> component which exposes an interface for its communications.  I could then 
> modify the proxy program to shuttle data between it and the internet...? 
> Can COM be used to do this sort of interprocess communication (essentially 
> replacing sockets)?
>
> I know I haven't provided much detail, but is this a good scenerio for 
> using COM?
>
> Also, could you recommend any good reference sites/books I could use to 
> start wrapping my head around this stuff.
>
> Thanks for any input.
>
> Jeffery 


Relevant Pages