title: C# async socket reading and writing at the same time?
body: <p>I am writing a tcp chat server at the moment and i read a lot of articles about synchronous and asynchronous sockets. </p>
  
  <p>I decided to use the async sockets because this way i don't have to manage the threads myself.(Anything reason i should to change my opinion ?)</p>
  
  <p>In all the articles, it was nicely explained how to establish a connection and how to send and receive data BUT never what happens if there might be more than one message to send without a reply. </p>
  
  <p>My Question is do i have to call <code>socket.endreceiving()</code> before i want to send something ??? If i don't what would happen if i receive a message at the same time i want to send one ??? (there are multiple threads but its still one underlying socket right?)</p>