I am trying to find "good practices" for designing client/server applications.
If anyone could recommend some good material to read?
Specifically how do you design an application layer protocol and make it robust, while avoiding pitfalls?
In some client/server instances like games the server is an interpreter for actions to be taken, can you design a protocol as to elegantly cooperate with such a design pattern?
Is there a design pattern designed for client/server applications. I was also thinking maybe a modified producer consumer pattern?
Edit: oops I realize this question can't have a definitive answer so I will give correct answer to an in-depth answer.
Thank you