и в этом и есть главная ошибка алгоритма
Я-бы использовал, например, ключевые слова, если без заморочек, т.е. отправляет юзер смайл, клиент отправляет "#1<код_смайла>", запрашивает клиент время, клиент отправляет серверу "#2GetTime", ну, типа того, а на сервере идёт обработка строк полученных от клиента и вызов соответствующих функций, которые уже выполняют ответ.