Here's as far as I understand it:
Client & Server make connection
Client sends server data
Server interprets data, sends client data
So on, and so forth, until client sends disconnect signal.
I'm just wondering about implementation. Step 2 and 3 are confusing to me, maybe I'm over-complicating it. Is there anymore to interpreting the data than a giant switch statement?
Any good books on client/server design? Specifically talking about multithreaded servers, scalability, and message design (byte 1 = header info, byte 2 = blah blah, etc)? Specifically geared towards C++.