You aren't guaranteed to receive a complete "request" from the client with one GetData call; your server code is assuming that you do.

You must check you have a complete request before using it. Also remember that you could feasibly receive more than a complete request from a GetData call; you need to account for this possibility aswell.