# Dotnet > Gnral Dotnet > Rseau >  Sockets- PB rception sur le serveur

## Tib22

Bonsoir  tous,

je suis actuellement en train de dvelopper un petit tchat perso en C#, et j'utilise donc les sockets. Aprs avoir lu moult fois les nombreux forums existants  ce sujet, je dcide de m'en remettre  vous afin de m'clairer, si possible sur le sujet.

*Explication du problme:*
D'un ct, le client envoie au serveur le pseudo de l'utilisateur au mme moment de la connexion.
La connexion s'tablit correctement puisque le serveur ragit (messageBox affich)
Le problme se situe juste aprs: je voudrais afficher dans la RichTextBox du serveur, le pseudo de la personne qui vient de se connecter. Cependant, aucune donne n'a l'air d'tre reue car il n'affiche rien, mme pas le messageBox plac  cet effet.

Voici mon code:

*Client*


```

```

*Serveur:*



```

```

Si quelqu'un a une ide...je cherche depuis un bon moment dj et ne parvient pas a trouver la solution...

De plus, je sais pas si c'est normal, la fentre du serveur reste fige ds lors que je clique sur le bouton Dmarrer??

Merci d'avance

Tib

----------


## Pol63

le socket en .net n'est pas quelque chose de simple
wcf est au final plus simple  utiliser

le thread principal est utilis pour rafraichir l'interface, si dans ce thread tu fais un while true ca fige l'interface 
si tu fais un socket.acceptclient ca figera jusqu' l'arrive d'un client
etc...

il faut donc soit dmarrer un autre thread, soit utiliser les mthodes asynchrones des sockets

si tu es dbutant, je te conseillerais de prendre de l'exprience sur d'autres choses que les sockets et/ou de passer par wcf

----------


## Tib22

Merci pour ta rponse, 

je vais regarder du ct des sockets asynchrones pour commencer puis WCF dans un deuxime temps si je n'arrive toujours pas  :;):

----------


## antoine.debyser

Bonjour,

1er problme viens de l'utilisation de la mthode "Receive", avec cette faons de faire, tant que ton serveur n'aurra pas reus 10000 octets, il ne se passera rien.

Il vaut mieux utiliser un NetworkStream pour encapsuler ta socket. Soit en utilisant la mthode "Read" (qui ne bloque pas de la meme maniere que Receive). Soit en (de)srialisant sur le stream, cette mthode est la plus simple si tu n'a pas  te soucier de linteroprabilit avec d'autre language.


2eme problme tu ne lis pas la bonne socket. la mthode "ListenThread" devrait utiliser la socket "client".

----------

