Ejemplo n.º 1
0
        /// <summary>
        /// Evento de click no botão de conectar
        /// </summary>
        /// <param name="_par_objSender">Objeto que disparou o evento</param>
        /// <param name="_par_objEventArgs">Argumentos enviados</param>
        private void BtnConectar_Click(object _par_objSender, EventArgs _par_objEventArgs)
        {
            if (txtIP.Text.Equals(string.Empty))
            {
                MessageBox.Show("Informe o endereço IP.");
                txtIP.Focus();
                return;
            }

            try
            {
                var enderecoIP   = IPAddress.Parse(txtIP.Text);
                var mainServidor = new ServerClass(enderecoIP);
                ServerClass.StatusChanged += new StatusChangedEventHandler(StatusChanged);

                mainServidor.StartToListen(Convert.ToInt32(TxtPort.Text));

                txtLog.AppendText("Monitorando as conexões...\r\n");
            }
            catch (Exception _par_objException)
            {
                MessageBox.Show("Erro de conexão : " + _par_objException.Message);
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Aceita o usuário que está tentando conectar
        /// </summary>
        private void AcceptClient()
        {
            srReceptor = new StreamReader(tcpCliente.GetStream());
            swEnviador = new StreamWriter(tcpCliente.GetStream());

            usuarioAtual = srReceptor.ReadLine();

            if (usuarioAtual != "")
            {
                if (ServerClass.Users.Contains(usuarioAtual))
                {
                    swEnviador.WriteLine(JsonConvert.SerializeObject(new USP.SI.RC.Util.Message {
                        Type = USP.SI.RC.Util.Type.Control, Text = "0|Este nome de usuário já existe."
                    }));
                    swEnviador.Flush();
                    CloseConnection();
                    return;
                }
                else if (usuarioAtual == "Administrator")
                {
                    swEnviador.WriteLine(JsonConvert.SerializeObject(new Util.Message {
                        Type = Util.Type.Control, Text = "0|Este nome de usuário é reservado."
                    }));
                    swEnviador.Flush();
                    CloseConnection();
                    return;
                }
                else
                {
                    swEnviador.WriteLine(JsonConvert.SerializeObject(new Util.Message {
                        Type = Util.Type.Control, Text = "1|Conectou com sucesso."
                    }));
                    swEnviador.Flush();

                    ServerClass.IncluiUsuario(tcpCliente, usuarioAtual);
                }
            }
            else
            {
                CloseConnection();
                return;
            }

            try
            {
                while ((strResposta = srReceptor.ReadLine()) != "")
                {
                    if (strResposta == null)
                    {
                        ServerClass.RemoveUsuario(tcpCliente);
                    }
                    else
                    {
                        if (strResposta.ToUpper().Equals(ServerClass.TurnWord))
                        {
                            ServerClass.IsRight = true;
                            ServerClass.SendMessageAsAdmin(usuarioAtual + " acertou!");
                        }
                        ServerClass.SendMessage(usuarioAtual, strResposta);
                    }
                }
            }
            catch
            {
                ServerClass.RemoveUsuario(tcpCliente);
            }
        }