title: tcp receive data broken
body: <p>The situation is: I have a TCP server written is c, TCP client(android app) in Java, using google protobuf to serialize/deserialize; and server sends data to client per second to display.  the data contains(for simple) attribute1/attribute2/attribute3, and the client needs to display the exact data with attribute1/attribute2/attribute3. the data size is more than 1480bytes and varies every second.</p>
  
  <p>the problem is: the TCP client won't get the exact data to display occasionally; for instance, attribute3 is a string, say"2018-12-10 12:00:00", but the TCP client only display "2018-12-".</p>
  
  <p>tried: tcp server and client can't promise the data size, because the data from server varies every second; and it doesn't seem to provide the length of a message by google protobuf. so how can tcp client get the exactly data to display? thx for your help!</p>