Question

Possible Duplicate:
IPC Mechanisms in C# - Usage and Best Practices

I have two diffenent process: A and B.

The process A wants to send to the process B some data (array of bytes, strings, structures, etc...). So suppose A need to send the following buffer:

var buffer = new byte[100].
SendToAnotherProcess(B, buffer);

And B need to receive this buffer:

byte[] buffer;
ReceiveFromAnotherProcess(A, out buffer);

What is the easiest solution to do this?

Was it helpful?

Solution

You can use Named Pipe. If it is C# 4.0 and above, you can also use Memory mapped file

OTHER TIPS

There's a multitude of options. To name a few low-level IPC mechanisms:

  • named pipes
  • shared memory
  • TCP/IP sockets

Also, there are some higher-level options:

  • .NET Remoting
  • WCF

One common way is to use files to communicate between the processed.

Each can write to a specific file that the other reads from.

You can use WCF, the registry, network interface, message queues or any other mechanism that lives outside the process.

There is some special instrument in .net:

.Net Remoting

WCF

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top