You might want to take a look at WCF then. Simply create a bunch of classes that hold your data, define an interface that describes the contract between client and server, then tell it how to communicate (ie. using a .NET-to-.NET optimized binary protocol, for example).
Nothing wrong with sockets tho, except they're...peculiar in some cases.
Nothing wrong with sockets tho, except they're...peculiar in some cases.
