все просто, создать собственный протокол или использовать существующие.
для текстового чата можно тупо текст слать, хотя это и не совсем хорошо, можете использовать json или xml например, или собвственный бинарный,тектостовый протокол.
в протоколе указать константы, которые отвечают за стадии регистрации, отправки, приема сообщения и т.п.
при приеме на сервере смотреть, какое значение этой переменной и делать соответствующие действия.
например как в json сделать.
при onConnected() клиента слать что то типа
{
action:"logon";
nikname:"some nikname";
}
А сервер, когда распарсит пакет json смотрит сначала на значение переменной action, смотрит что оно равно "logon", тогда извлекает nikname и присваивает нужной пременной.
Как то так... советую попробовать так для начала, тем более в 5м кутэ уже есть встренный парсер json нормальный (QScript не в счёт).