Thic question doesn't quite belong here, but I belive I'll find answer(s).
I'm starting with COM programming and a little bit confused with few, probably basic things.
I develop application which receives (and sends) data via serial port and have to distribute it over network. My idea is to do this with a single COM EXE server which colects data and send it to the applications on a different machines. Application can have blocked thread listening and waiting data to come.

1. What is the difference between COM and DCOM network communication?
2. What I need to let all the different machines know about existance od EXE server (both COM and DCOM)? In other words, how to register them?
3. How COM/DCOM components are distributed to the other developers who want to use their services? Is it neccessary to include .h and .c files, all there is another way?
4. Is there smething else important for the begining? :)

Thank you very much,


P.S. My last 53 points. :)
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Tommy HuiEngineerCommented:
COM's network communication model is DCOM (Distributed COM).

When you build a COM server, you typically need to use an .IDL file. The IDL file is used to create a proxy/stub DLL and the type library. You need to register the proxy DLL on the client machines so that they can communicate with the server. You typically would use the proxy or type library to get the interfaces. You typically don't need the .h or any .c files.

I would recommend you take a look at Professional DCOM Application Development by Jonathan Pinnock ISBN: 1-861001-31-2 for real examples of how to create DCOM servers.

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
1. To be simple DCOM is "COM with long wire". DCOM is an extension of COM for network communication.

2.COM components are made visible by registering its GUID in the windows registry. In a network there are many ways to let the machines know about ur component. It will be easy if U have DCOM95 installed in your system. It comes with Windows 98. Or else what can U do is import the registry file of the component into the windows system registry of the maxchines. If Ur EXE is a self registering EXE then the work is easy. Its enough if U run the EXE on the machines U want to make visble the component. It will register itself with a link to the server machine where the component resides.

3.The components can be installed on the machines just by registering the component DLLs in that system. There is no absolute necessity of providing .h files etc..) If it is such case the whole concept of COM would get violated.
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
System Programming

From novice to tech pro — start learning today.