views:

40

answers:

2

I tried using DDE back in the win98 days around the time i switched to XP. I couldnt quiet get it to work nor know exactly what it can or should be used for.

I want to know what alternatives could i use? Back then i wanted to make 3 apps which can communicate to the others no matter what order they were opened. I ended up having them all launch a single instance server app which all 3 use communicate to eachother to the server app instead. Is DDE better suited for that?

Anyways what are alternatives to DDE? i read the answer to Dynamic Data Exchange (DDE) - Still Relevant? which mentioned COM but i dont know what they are or how to use them. Also would they be relevant to my situation above?

What are alternatives to DDE? It feels like TCP (or named pipes)+Window Messages+Global memory can solve any IPC problem.

A: 

Your best bet for a Windows-specific interprocess communication scheme with location independence is Windows Communication Foundation (WCF). It's not just web services.

For example, you can host a web service without IIS. You can use a svc file in your project to support AJAX calls.

If you need IPC in a windows environment, use WCF.

richb01
A: 

DDE is definitely a dying technology for many reasons. Perhaps some of those reasons made it difficult for you when you attempted to use it.

You did not specify which language you were using so it is hard to guess which alternatives might be best for you. But, yes, named pipes, TCP/IP, global memory, etc. would be language agnostic alternatives.

If you were using the .NET Framework then your choices would include .NET Remoting or the newer technology Windows Communication Foundation (WCF).

Brian Gideon
I looked at that earlier today and i cant figure out how it would be useful. It sounds like calling functions on a remote (or local) machine using serialized data through TCP. I dont see how it can inform 1 or more apps that a change has occurred (window msg, server(<)->client) how to make a resource file (or a slab of binary data being edited) available to multiple copies and trying to keep them in sync etc. Is it like a nice and easier to use named pipe (or socket) that can call functions?
acidzombie24
Yeah pretty much. I am not that familiar with WCF...yet. But, I am sure it uses some other lower level protocol for the actual transport of data. And yes, there should be a way to push updates to listening clients.
Brian Gideon