CC Programmer's Corner - intro
Other Chat Clients CC Programmers
The client connects to the server. It sends and receives commands and messages to and from the server. A client never connects or sends a message directly to another client. This is because only the server knows who everyone is and who is special.
The server acts like a telephone switchboard, getting messages from the clients and routing them to other clients that are connected. It also informs clients of when new people join, when they leave and updates the who list when ever it changes. It also attaches the class of the client who sent the message (such as whether it is from a Cyan employee) on the message.
The communication between the client and the server is done through a protocol. Sorta like a language that the two understand. This protocol is the first key to writing your own client that talks to the CyanChat server. These messages are entirely in text (i.e. no binary). This makes it easy to debug and easy for different programming languages to work with. Almost all the conversation start from a client.
There are several different version of the protocol. Each client only needs to know one protocol, but the server knows all of them. This way I can add new commands or change the way commands work without breaking old clients.
Here is a list of the current protocols: