Пример #1
0
 private void AceitaCliente()
 {
     srReceptor   = new System.IO.StreamReader(tcpCliente.GetStream());
     swEnviador   = new System.IO.StreamWriter(tcpCliente.GetStream());
     usuarioAtual = srReceptor.ReadLine();
     if (usuarioAtual != "")
     {
         if (ChatServidor.htUsuarios.Contains(usuarioAtual) == true)
         {
             swEnviador.WriteLine("0|Este nome de usuário já existe.");
             swEnviador.Flush();
             FechaConexao();
             return;
         }
         else if (usuarioAtual == "ADM")
         {
             swEnviador.WriteLine("0|Este nome de usuário é reservado.");
             swEnviador.Flush();
             FechaConexao();
             return;
         }
         else
         {
             // 1 => conectou com sucesso
             swEnviador.WriteLine("1");
             swEnviador.Flush();
             ChatServidor.IncluiUsuario(tcpCliente, usuarioAtual);
         }
     }
     else
     {
         FechaConexao();
         return;
     }
     //
     try
     {
         // Continua aguardando por uma mensagem do usuário
         while ((strResposta = srReceptor.ReadLine()) != "")
         {
             // Se for inválido remove-o
             if (strResposta == null)
             {
                 ChatServidor.RemoveUsuario(tcpCliente);
             }
             else
             {
                 // envia a mensagem para todos os outros usuários
                 ChatServidor.EnviaMensagem(usuarioAtual, strResposta);
             }
         }
     }
     catch
     {
         // Se houve um problema com este usuário desconecta-o
         ChatServidor.RemoveUsuario(tcpCliente);
     }
 }