title: Writing unit-test for client/server programs
body: <p>I have a client/server program and I want to make sure that its components are working correctly.</p>
  
  <p>What are the best practices for writing unit-tests for such network-oriented programs?</p>
  
  <p>The only thing that comes to my mind is writing some basic clients/servers that connect to main server/client, exchanges some specific packets and verify the responses.</p>
  
  <p>Are there any better or simpler approaches?</p>