The stages of a client/server connection are shown in Fig.2:

Fig.2 -- Client/server connection stages.
During all phases prior to the service loop, communication between the client and server is synchronous. (In other words, both the client and server send and receive messages to each other in a predictable, well-ordered manner.) In the service loop, however, both client and server send messages to each other in an asynchronous fashion, with little consideration of the messages that the other is sending.