private void btnAtender_Click(object sender, RoutedEventArgs e) { //Analisa o endereço IP do servidor informado no txtIP IPAddress enderecoIP = IPAddress.Parse(txtIP.Text); //Cria uma nova instância do objeto ChatServidor Servidor mainServidor = new Servidor(enderecoIP); //Vincula o tratamento de evento StatusChanged a mainServer_StatusChanged Servidor.StatusChanged += new StatusChangedEventHandler(mainServidor_StatusChanged); //Inicia o atendimento das conexões mainServidor.IniciaAtendimento(); //Mostra que nos iniciamos o atendimento para conexões txtLog.AppendText("Monitorando as conexões...\r\n"); }
private void button1_Click(object sender, EventArgs e) { Servidor servidor = new Servidor(txbLogServidor); }
// Ocorre quando um novo cliente é aceito private void AceitaCliente() { srReceptor = new System.IO.StreamReader(tcpCliente.GetStream()); swEnviador = new System.IO.StreamWriter(tcpCliente.GetStream()); // Lê a informação da conta do cliente usuarioAtual = srReceptor.ReadLine(); // temos uma resposta do cliente if (usuarioAtual != "") { // Armazena o nome do usuário na hash table if (Servidor.htUsuarios.Contains(usuarioAtual) == true) { // 0 => significa não conectado swEnviador.WriteLine("0|Este nome de usuário já existe."); swEnviador.Flush(); FechaConexao(); return; } else if (usuarioAtual == "Administrator") { // 0 => não conectado swEnviador.WriteLine("0|Este nome de usuário é reservado."); swEnviador.Flush(); FechaConexao(); return; } else { // 1 => conectou com sucesso swEnviador.WriteLine("1"); swEnviador.Flush(); // Inclui o usuário na hash table e inicia a escuta de suas mensagens Servidor.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) { Servidor.RemoveUsuario(tcpCliente); } else { // envia a mensagem para todos os outros usuários Servidor.EnviaMensagem(usuarioAtual, strResposta); } } } catch { // Se houve um problema com este usuário desconecta-o Servidor.RemoveUsuario(tcpCliente); } }