title: What is the preferred way of passing data between two applications on the same system?
body: <p>I have an application (A) that needs to launch another application (B).  I need to pass data between the applications.  I can think of two approaches.  The first is to open a socket.  The second is to share data via a dll.  </p>
  
  <p>The opening socket approach is straight forward.  </p>
  
  <p>The dll approach I have some questions?  I can load plug-in dlls into B.  I want to create a dll that A can use to pass data to B.  When loading dlls, is only one instance of the dll loaded?  If so, does this mean that data can be shared between applications that load the dll?</p>
  
  <p>What is the better choice?  </p>
  
  <p>Are there other ways of doing this?</p>