Also, du brauchst ein "Protokoll", das so ähnlich aufgebaut werden kann.
Code:
msg\0channel\0text
login\0username\0passworthash
Du Splittest die Strings die der Server oder der Client dann empfängt am '\0' Char. Das erste Token was du erhältest gibt an was für eins es ist.
Hier ein kleiner Denkanstoß in C#
Code:
string token = Receive.Split('\0');
switch(token[0])
{
case "msg":
Console.WriteLine(string.Formate("{0}: {1}",token[1], token[2]));
break;
case "login":
string Nickname = token[1];
string Passwort = token[2];
break;
case "Blabla":
break;
}