Isnt there another way - having each client app host its own WCF service that is capable of sending/receiving the information? So basically exactly the same as the TCPClient method you mentioned but just using WCF instead because from my experience (which isnt a lot) its not easy to send anything other than plain text strings via TcpClient.