Hey que tal, mi problema es el siguiente.
Estoy desarrollando una aplicacion en C#, la cual manejara sockets, he creado dos programas, uno que sea el servidor el cual atendera las peticiones de cada cliente, para ello utilizo las clases TcpListener y Socket, y un programa cliente, en el cual uso la clase TcpClient, ademas de que uso Threads para manejar multiples clientes, hasta ahora me funciona bastante bien, sin embargo lo que ahora quiero hacer que pueda haber comunicacion entre los clientes, pero no se como hacer.
he pensado en que al iniciar el servidor cree un arraylist o un hashtable para almacenar todos los clientes que se han conectado, y cuando por ejemplo, el cliente uno quiera enviar un mensaje a cliente dos, primero enviaria el mensaje al servidor, el servidor checa en el hashtable si el cliente dos esta conectado y si es asi envia el mensaje respectivo, pero eso como lo puedo lograr?, como puedo indentificar a cada socket? o de que otra manera podria hacer comunicacion entre los clientes estando de por medio el servidor?
Espero se entienda mi idea y ojala me puedan ayudar