title: Performance send / receive data via TCP socket Client-Server application
body: <p>I'm developing a system for exchanging data between client and server application using sockets via TCP.</p>
  
  <p>The server was written long ago in <code>C++</code> (by a third part), the client instead is the application that I'm still developing in <code>C#</code>. The bases have already been completed. Both applications are communicating properly. The problem is that data is exchanged (in my opinion) too slowly.</p>
  
  <p>I emphasize <em>in my opinion</em> because I have no idea what you can actually expect using sockets via TCP. Currently, and by eye, after several tests, the communication speed is an average of 200/250 KB per second, both in reception and in sending.</p>
  
  <p>There are applications that allow you to evaluate the speed of data exchange between two endpoints on a specific port? <strong>What speed should I expect?</strong></p>
  
  <p>More specifically, the client and the server are developed for the file sharing. Currently, the client can receive and send one file at a time. The protocol would do otherwise (receive/send multiple files at once), but for security reasons I preferred otherwise (if you're receiving more than one file and you lose the connection you'll lose all files you're receiving).</p>
  
  <p><strong>Change this feature could significantly affect the speed of data exchange? In what way?</strong></p>