salve ragazzi ho un problema sull'invio di dati ad un socket.minimizzo il codice per farvi capire:
codice:
 
while()
{
     sendmess(null,tutti,"ciao")
  while()
    {
       sendmess(null,nomepersona,"bello")
    }

}
praticamente finche sono all'interno della while "bello" gli invii avvengono regolari e separati, mentre quando passo dalla while ciao il valore viene ricevuto dal client concatenato.in pratica riceve "ciaobello" e non prima "ciao" e successivamente "bello".questo non avviene sempre ma quasi sempre.è come se nel passaggio dal send ciao a quello bello i dati vengano scritti entambi sul buffer e letti una sola volta dal client...la funzione di invio è la classica con apertura dello stream e invio con buffer...
codice:
public void sendmess(TcpClient client,string name,string test)
        { 
            TcpClient tcpClient= new TcpClient();
            if (client != null) tcpClient = (TcpClient)client;
            if (name != null) tcpClient = (TcpClient)clientsList[name];

            NetworkStream clientStream = tcpClient.GetStream();
            ASCIIEncoding encoder = new ASCIIEncoding();
            byte[] buffer = encoder.GetBytes(test);

            clientStream.Write(buffer, 0, buffer.Length);
            clientStream.Flush();
        }