title: Protecting server data sent over network
body: <p>I have two applications :</p>
  
  <ul>
  <li>A client that offers a user-friendly interface</li>
  <li>A server that takes care of all the actual functionalities of the client.</li>
  </ul>
  
  <p>The person that uses my application uses the client obviously, while the server application is stationed on a server computer, the two applications communicate using the TCP.</p>
  
  <p>I've got some premium functions in my client application that the person can only use if they pay a monthly fee by logging in.</p>
  
  <p>Now, my question is the following:
  How can I prevent that a person downloads the client application, pays a one-month fee just to check what TCP packet the server sends to the client so that then create their own application to just send that response over and over to the client to bypass logging in?</p>
  
  <p>Is there any way to prevent the data that the server sends to the client from being read by the person running the client? Some kind of encryption?</p>