In C/C++, socket programming is one of the most challenging subjects to every developer. Not only the theory of the socket is quite tricky, and there are a lot of things to learn, but we also need much experience and guidance in various cases.
To parse and handle TCP data is that very case. We can recognize the necessity and make sure the solution is correct, only by experience.
With my 16 yrs experience in developing financial trading platforms with Visual C++, I'm sure that you need to learn and utilize this lecture.