Всё как-то сумбурно у вас. Когда клиент пишет сообщение - оно отсылается на сервер, причём не в чистом виде, а с "заголовком", в котором например и указывается, что это личное сообщение такому-то адресату (как вариант - сервер самостоятельно парсит сообщение на предмет управляющих команд вида "/pm target_user target_message", тогда можно и сырое сообщение без заголовков передавать). Соответственно сервер шлёт такое сообщение только одному (или сколько там подразумевается) клиенту, с соответствующим заголовком "приватное сообщение".