title: TCP fragmentation
body: <p>I know that TCP provides stream-like data transmission, but the main question is - what situations can occur while sending data over TCP?<br>
  1. The message can be split to N chunks to fit in MTU size.<br>
  2. Two messages can be read in 1 recv call.  </p>
  
  <p>Can there be the next situation?<br>
  MTU for example 1500 bytes.<br>
  Client calls send with 1498 bytes data.<br>
  Client calls send with 100 bytes data.<br>
  Server calls recv and receives 1500 bytes data.<br>
  Server calls recv and receives 98 bytes data.  </p>
  
  <p>So it end up with situation when 2 bytes from second client send will be received in first server recv.  </p>
  
  <p>My protocol defined as foolows:<br>
  4 bytes - data length<br>
  data content.</p>
  
  <p>I wonder can I came up with situation when 4 bytes (data length) will be split into 2 chunks?</p>