el servidor solo es un intercomunicador, un client envia y el servidor se lo reenvia a todos los demas clentes, y si implementas un sistema de listas de contactos con logins podras hacer algo como el msn... ej:
clietnes 1 al 10, y los contactos del cliente 1 son
el 1 tiene a: 3 6 7 9 y 10
en caso de que 1 envie a 10 un mensaje el servidor identificara si 10 esta online y le enviara el mensaje.
en casod e ser una cnov multiple entre 3 6 y 1 el servidor eviara a los ortos 2 el mensaje del que ha escrito.....
el cnotrol solo envia y recibe datos desde el server al ciente y viceversa, el servidor hace las redirecciones de los mensajes, y es debes programarlo tu.
si no implementas el sistema de cuentas y solo haces una sala de chat solo debes reenviar a todos los sock el mismo mensaje cuando lo recibes, no es cmoplicado.