bueno lo que pasa es que pides mucho y realmente no es un problema sencillo
Tema 1 Clientes:
1- usa windows forms o WPF, preferiblemente el segundo
2- ponerlo en la barra como lo hace messenger es lo mas facil y menos relevante por ahora
3- para las comunicaciones podrias usar remoting... pero olvidalo lo mejor de una vez WCF
4- debes diseñar un protocolo y hacerlo seguro para comunicarse con el server...
Tema 2 servidor (es)
1- un servicio montado en IIS, con WAS
2- WCF
3- diseñarlo muy bien, tener en cuenta nro de usuarios etc
4- dede luego tambien tener en cuenta el protocolo de comunicacion creado...
en fin...
hay apis especializados en P2P, dentro de WPF y en coding for fun tambien (C4F)...
creeme no es nada facil... y tu pregunta abarca demasiados temas...
por eso conseguiste la respuesta que tubiste...