As far as inter process communication is concerned, there's really a lot of ways to do it.
The TCP channel approach is easy, but not very efficient if you want speed.
I haven't tried the shared memory approach myself, but this might be the way to go.. provided you can implement a secure and solid locking mechanism.
Another approach that has my interest is to use an SQLite database. It supports concurrent connections (built-in locking mechanism) and does not need installation of separate database software... You can embed it in your own app. It's also pretty fast.
Ofcourse your data structures need to be optimized for a relational data model.
The TCP channel approach is easy, but not very efficient if you want speed.
I haven't tried the shared memory approach myself, but this might be the way to go.. provided you can implement a secure and solid locking mechanism.
Another approach that has my interest is to use an SQLite database. It supports concurrent connections (built-in locking mechanism) and does not need installation of separate database software... You can embed it in your own app. It's also pretty fast.
Ofcourse your data structures need to be optimized for a relational data model.