SERVER server_host VERSION server_version SET ENCRYPTION ON/OFF SET NICK username SET PASS password AUTH OK/FAIL ERR code message USERS user1 user2 user3 MSG from to message JOIN channel CUSERS user1 user2 user3 CMSG channel from message LEAVE channel QUIT typical session -- client opens socket to server -- server accepts socket SERVER(null)localhost VERSION(null)0.0.1 SET(null)ENCRYPTION(null)OFF SET(null)NICK(null)leon_pegg SET(null)PASS(null)andritz AUTH(null)OK USERS(null)greyscale(null)bob(null)freak CHANNELS(null)openchat MSG(null)leon_pegg(null)geryscale(null)hello greyscale how are you? MSG(null)geryscale(null)leon_pegg(null)hi I am fine JOIN(null)openchat CUSERS(null)openchat(null)freak CMSG(null)openchat(null)freak(null)some chatter from the channel CMSG(null)openchat(null)leon_pegg(null)hi all how is every one LEAVE(null)openchat QUIT -- server closes socket -- client closes socket