In the interests of keeping this non-technical, I'll start by saying that it's a simple client/server setup. One person starts Chatbox and when they attempt to connect, they select the option to be a server. Now Chatbox is waiting for connection attempts from other clients. When someone else runs Chatbox and selects not to be a server, they must enter the name or IP address of a known server, or enter the domain or workgroup name to search for a Chatbox server. When a server has been found, a connection is made between the two computers and the chatting may begin. The users communicate by sending messages with standardized formats to the server, where they are interpreted and handled appropriately. A number of security measures are in place so that if a user attempts to change a room's topic, for example, the server will ensure that the user is in that room, and that the user currently has a permission level within the room to perform that action. Malformed messages or unrecognized message types are ignored to prevent flooding and unnecessary processing, making the whole system more efficient and stable. |