In my application, I have two DLLs. One is written in C# and the other in C++. They communicate with each other across a network. Each has a list of object instances that are expected to be in sync with each other at all times.
What network libraries are available for doing this?
This is actually a fairly difficult problem to get done correctly, and as such, there are many ways to approach it. I think the best way to do it would be to use something like Protocol buffers, which has both a c++ and c# library. Depending on the size of your data, you could simply serialize the entire data object, and send it across the wire, and then de-serialize it on the other side, and then repeat this whenever the object changes.
Of course, then you might have problems with syncing if both sides change the object at the same time. In this case, you might have to do something like Google Wave does, and send diffs of the data, and merge the changes together.