Для начала нужно определиться со структурой проекта, по какому транспортному протоколу хотите делать чат.
Если вы хотите делать именно текстовый чат, то лучше использовать TCP, я бы Вам посоветовал набор компонентов Synapse, работает хорошо, глюков не замечал, потом нужно решить будет ли в проекте peer to peer+multicast или broadcast или будет сервер который будет всем этим рулить