I have a c# (win form) visual studio project which i am now compiling using mono on Linux and i have a c++ application . I want to transfer some data between these two applications , what are my options ?
Asked
Active
Viewed 179 times
0
-
Your options are pipes, sockets, shared memory... and many many more. – Some programmer dude Aug 07 '12 at 14:33
1 Answers
2
There are several ways to do this. Some of them are:
- standard files (with lockfile)
- fifo files
- socket connection
- shared memory
Depends on what you need, how big is the data, how often you'll exchange information, etc.
Most probably, you'll use a socket connection.
Basically, what you need is IPC (inter-process communication). Read more about it, for example, here

Kiril Kirov
- 37,467
- 22
- 115
- 187
-
The data is not transfered continuously , it is some 100-200 numbers which will be transfered very rarely . What might be the easiest to implement in this case ? – rajat Aug 07 '12 at 14:40
-
Read about the different ways and pick one. It's very specific. I can't tell you which one is the best for you, without knowing the whole logic of the two programs. – Kiril Kirov Aug 07 '12 at 14:41
-
Ohk , but i can't seem to understand why the logic might be useful as i already said that it is a list of numbers which will be transfered on a button press(or some event which will not occur frequently ) – rajat Aug 07 '12 at 14:43
-
-
yes , they will run on same machine and in the same user account always . – rajat Aug 07 '12 at 14:50
-
@rajat - well, then you may use named pipes (a.k.a. fifo files). For example, open 2 fifo-s for the both directions. For fifo1 - the one process is reader, the other - writer; for fifo2 - the opposite. NOTE that this is OS specific. – Kiril Kirov Aug 07 '12 at 14:52