Bonjour à tous,

Je suis à la recherche de conseils et d'aide pour le développement d'une petite application en c#.
Voici une rapide description :
L'appli se compose en fait de deux éléments : un serveur (winform ou service) et un client (service).
Le principe est le suivant (très simple) : Le client se lance et se met en mode écoute sur un port déterminé via un(e) socket.
Le serveur se connecte au client, un dialogue basique commence du style :
Serveur : bonjour
Client : bonjour, bye

Vraiment très basique...
Ensuite le serveur ferme la communication avec le client lors de la réception du "bonjour, bye" et le client se remet en mode écoute.

Pour l'instant, j'arrive bien à faire communiquer les deux, mais j'ai toujours un plantage lorsque je ferme le client ou le serveur.

Question : c'est le serveur ou le client qui doit fermer la communication ?
Quelqu'un a-t'il un tuyau ?

Information importante : je travaille en mode "asynchrone" pour les sockets.

Dernière chose : j'aimerais que mon serveur soit multi-thread pour pouvoir communiquer avec plusieurs clients simultanément. Petite précision : les clients ne communiquent pas entre eux, c'est toujours un dialogue serveur vers client.

Merci beaucoup de votre aide et de vos conseils !

Si nécessaire, je peux publier le code.