Example #1
0
        public void MensajeRecibido(string datos)
        {
            var    paquete = new Paquete(datos);
            string comando = paquete.Comando;

            if (comando == "resultado")
            {
                string contenido = paquete.Contenido;

                Invoke(new Action(() => label1.Text = string.Format("Respuesta: {0}", contenido)));
            }
        }
Example #2
0
        private void MensajeRecibido(string datos)
        {
            var    paquete = new Paquete(datos);
            string comando = paquete.Comando;

            //MESSAGEBOX DE COMPROBACION
            MessageBox.Show(string.Format("{0}:{1}", paquete.Comando, paquete.Contenido));
            if (comando == "resultado")
            {
                string contenido = paquete.Contenido;

                Invoke(new Action(() => textBox3.Text = contenido));
            }
        }
Example #3
0
 private void btnEnviar_Click(object sender, EventArgs e)
 {
     try
     {
         Paquete paqueteParaEnviar = new Paquete();
         paqueteParaEnviar.NombreChat        = nombre;
         paqueteParaEnviar.MensajeChat       = txtMensajeParaEnviar.Text.Trim();
         paqueteParaEnviar.IdentificadorChat = Paquete.IdentificadorDato.Mensaje;
         byte[] arregloBytes = paqueteParaEnviar.ObtenerArregloBytes();
         socketCliente.BeginSendTo(arregloBytes, 0, arregloBytes.Length, SocketFlags.None, epServidor, new AsyncCallback(ProcesarEnviar), null);
         txtMensajeParaEnviar.Text = string.Empty;
     }
     catch (Exception ex) { MessageBox.Show("Error al enviar: " + ex.Message, "Cliente UDP", MessageBoxButtons.OK, MessageBoxIcon.Error); }
 }
Example #4
0
 private void ProcesarRecibir(IAsyncResult res)
 {
     try
     {
         socketCliente.EndReceive(res); Paquete paqueteRecibido = new Paquete(buferRx);
         if (paqueteRecibido.MensajeChat != null)
         {
             Invoke(delegadoActualizacion, new object[] { paqueteRecibido.MensajeChat });
         }
         buferRx = new byte[1024];
         socketCliente.BeginReceiveFrom(buferRx, 0, buferRx.Length, SocketFlags.None, ref epServidor, new AsyncCallback(ProcesarRecibir), null);
     }
     catch (ObjectDisposedException) { }
     catch (Exception ex) { MessageBox.Show("Datos Recibidos: " + ex.Message, "Cliente UDP", MessageBoxButtons.OK, MessageBoxIcon.Error); }
 }
Example #5
0
 private void Form1_FormClosing(object sender, FormClosingEventArgs e)
 {
     listaClientes.Clear();
     try
     {
         if (this.socketCliente != null)
         {
             Paquete paqueteSalida = new Paquete(); paqueteSalida.IdentificadorChat = IdentificadorDato.Listado; paqueteSalida.IdentificadorL = IdentificadorListado.Desconectado; paqueteSalida.NombreChat = nombre; paqueteSalida.MensajeChat = null;
             byte[]  buferTx       = paqueteSalida.ObtenerArregloBytes();
             socketCliente.SendTo(buferTx, 0, buferTx.Length, SocketFlags.None, epServidor);
             socketCliente.Close();
         }
     }
     catch (Exception ex) { MessageBox.Show("Error al desconectar: " + ex.Message, "Cliente UDP", MessageBoxButtons.OK, MessageBoxIcon.Error); }
 }
Example #6
0
 private void btnEnviar_Click(object sender, EventArgs e)
 {
     try
     {
         Cliente Jugadorextremo    = (Cliente)lstClientes.SelectedItem;
         Paquete paqueteParaEnviar = new Paquete();
         paqueteParaEnviar.NombreChat     = nombre;
         paqueteParaEnviar.IdentificadorL = IdentificadorListado.Solicitar;
         string jugador = Jugadorextremo.nombre + "," + Jugadorextremo.puntoExtremo.ToString();
         paqueteParaEnviar.MensajeChat       = jugador;
         paqueteParaEnviar.IdentificadorChat = IdentificadorDato.Mensaje;
         byte[] arregloBytes = paqueteParaEnviar.ObtenerArregloBytes();
         socketCliente.BeginSendTo(arregloBytes, 0, arregloBytes.Length, SocketFlags.None, epServidor, new AsyncCallback(ProcesarEnviar), null);
     }
     catch (Exception ex) { MessageBox.Show("Error al enviar: " + ex.Message, "Cliente UDP", MessageBoxButtons.OK, MessageBoxIcon.Error); }
 }
Example #7
0
        private void regButton_Click(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(textBox1.Text))
            {
                MessageBox.Show("El campo de usuario está vacío, rellénelo por favor.");
            }

            else if (string.IsNullOrEmpty(textBox2.Text))
            {
                MessageBox.Show("El campo de contraseña está vacío, rellénelo por favor.");
            }

            else if (clientConnected())
            {
                var msgLogin = new Paquete("register", string.Format("{0},{1}", textBox1.Text, textBox2.Text));
                conexionTcp.EnviarPaquete(msgLogin);
            }
        }
Example #8
0
 private void btnA9_Click(object sender, EventArgs e)
 {
     try
     {
         Paquete paqueteParaEnviar = new Paquete();
         paqueteParaEnviar.MensajeChat       = "A9," + jugadormensaje;
         paqueteParaEnviar.NombreChat        = nombre;
         paqueteParaEnviar.IdentificadorL    = IdentificadorListado.Null;
         paqueteParaEnviar.IdentificadorChat = IdentificadorDato.Jugada;
         byte[] arregloBytes = paqueteParaEnviar.ObtenerArregloBytes();
         btnA9.Text    = "O";
         btnA9.Enabled = false;
         socketCliente.BeginSendTo(arregloBytes, 0, arregloBytes.Length, SocketFlags.None, epServidor, new AsyncCallback(ProcesarEnviar), null);
         resultado(btnA1.Text, btnA2.Text, btnA3.Text, btnA4.Text, btnA5.Text, btnA6.Text, btnA7.Text, btnA8.Text, btnA9.Text);
         pausar();
     }
     catch (Exception ex) { MessageBox.Show("Error al enviar: " + ex.Message, "Cliente UDP", MessageBoxButtons.OK, MessageBoxIcon.Error); }
 }
Example #9
0
        //24
        private void DesplegarMensaje1(string mensaje)
        {
            rxtMensajes.Text = mensaje;

            if (MessageBox.Show(clientes + " Quiere iniciar partida", "INICIAR PARTIDA", MessageBoxButtons.YesNo) == DialogResult.Yes)
            {
                Console.WriteLine("aqui");
                String[] substrings = mensaje.Split(',', ':');
                jug1 = substrings[2];
                jug2 = substrings[4];
                Console.WriteLine(jug2 + jug1);

                btnA1.Visible       = true;
                btnA2.Visible       = true;
                btnA3.Visible       = true;
                btnA4.Visible       = true;
                btnA5.Visible       = true;
                btnA6.Visible       = true;
                btnA7.Visible       = true;
                btnA8.Visible       = true;
                btnA9.Visible       = true;
                lstClientes.Visible = false;
                nombre = txtNombre.Text;
                Paquete paqueteSolicitar = new Paquete();
                paqueteSolicitar.NombreChat  = nombre;
                paqueteSolicitar.MensajeChat = mensaje;
                Console.WriteLine(mensaje);
                paqueteSolicitar.IdentificadorChat = IdentificadorDato.Mensaje;
                paqueteSolicitar.IdentificadorL    = IdentificadorListado.Aceptar;
                byte[] buferTx = paqueteSolicitar.ObtenerArregloBytes();
                socketCliente.BeginSendTo(buferTx, 0, buferTx.Length, SocketFlags.None, epServidor, new AsyncCallback(ProcesarEnviar), null);
            }
            else
            {
                nombre = txtNombre.Text;
                Paquete paqueteSolicitar = new Paquete();
                paqueteSolicitar.NombreChat        = nombre;
                paqueteSolicitar.MensajeChat       = mensaje;
                paqueteSolicitar.IdentificadorChat = IdentificadorDato.Mensaje;
                paqueteSolicitar.IdentificadorL    = IdentificadorListado.Negar;
                byte[] buferTx = paqueteSolicitar.ObtenerArregloBytes();
                socketCliente.BeginSendTo(buferTx, 0, buferTx.Length, SocketFlags.None, epServidor, new AsyncCallback(ProcesarEnviar), null);
            }
        }
Example #10
0
 private void btnConectar_Click(object sender, EventArgs e)
 {
     try
     {
         //seteo en la variable el nombre ingresado
         nombre = txtNombre.Text.Trim();
         //se crean los paquetes iniciales
         Paquete paqueteInicio = new Paquete();
         paqueteInicio.NombreChat        = nombre;
         paqueteInicio.MensajeChat       = null;
         paqueteInicio.IdentificadorChat = IdentificadorDato.Conectado;
         //se instancia socket, con el constructor que acepta como parámetros de entrada el esquema de
         //direccionamiento, el tipo de socket, y el tipo de protocolo que en este caso es udp
         socketCliente = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
         //se setea la dirección ip del servidor
         IPAddress servidorIP = IPAddress.Parse(txtServidor.Text.Trim());
         //se crea un punto remoto con la dirección ip del servidor y el puerto de escucha
         IPEndPoint puntoRemoto = new IPEndPoint(servidorIP, 30000);
         epServidor = (EndPoint)puntoRemoto;
         //se obtiene el arreglo de bytes de paquete inicial
         byte[] buferTx = paqueteInicio.ObtenerArregloBytes();
         //socket para envío de datos
         socketCliente.BeginSendTo(buferTx, 0, buferTx.Length, SocketFlags.None, epServidor, new
                                   //delegado al método ProcesarEnviar cuando se intenta la conexión
                                   AsyncCallback(ProcesarEnviar), null);
         //se setea el tamaño del buffer de recepción
         buferRx = new byte[1024];
         //se recibe asincrónicamente los datos
         socketCliente.BeginReceiveFrom(buferRx, 0, buferRx.Length, SocketFlags.None, ref epServidor, new
                                        //se hace referencia al método ProcesarRecibir cuando finalice la entrega asincrónica
                                        AsyncCallback(this.ProcesarRecibir), null);
     }
     catch (Exception ex)
     {
         //si se presenta un error se muestra por consola
         MessageBox.Show("Error al conectarse: " + ex.Message, "Cliente UDP",
                         MessageBoxButtons.OK,
                         MessageBoxIcon.Error);
     }
 }
Example #11
0
 private void btnIngresar_Click(object sender, EventArgs e)
 {
     try
     {
         nombre = txtNombre.Text.Trim();
         Paquete paqueteInicio = new Paquete();
         paqueteInicio.NombreChat        = nombre;
         paqueteInicio.MensajeChat       = null;
         paqueteInicio.IdentificadorChat = Paquete.IdentificadorDato.Conectado;
         socketCliente = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
         IPAddress  servidorIP  = IPAddress.Parse(txtServidor.Text.Trim());
         IPEndPoint puntoRemoto = new IPEndPoint(servidorIP, 30000);
         epServidor = (EndPoint)puntoRemoto;
         byte[] buferTx = paqueteInicio.ObtenerArregloBytes();
         socketCliente.BeginSendTo(buferTx, 0, buferTx.Length, SocketFlags.None, epServidor, new AsyncCallback(ProcesarEnviar), null);
         buferRx = new byte[1024];
         socketCliente.BeginReceiveFrom(buferRx, 0, buferRx.Length, SocketFlags.None, ref epServidor, new AsyncCallback(this.ProcesarRecibir), null);
     }
     catch (Exception ex)
     {
         MessageBox.Show("Error al conectarse: " + ex.Message, "Cliente UDP", MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
 }
        }// btnConectar_Click

        private void btnDesconectar_Click(object sender, EventArgs e)
        {
            try
            {
                if (conexionTcp.TcpClient.Connected)
                {
                    var msgPack = new Paquete("usuarioDesconectado", "Un usuario se ha desconectado");
                    conexionTcp.EnviarPaquete(msgPack);
                }
                else
                {
                    MessageBox.Show("No se logro realizar la conexión", "Error de Conexión");
                }

                conexionTcp.TcpClient.Close();

                btnDesconectar.Enabled = false;
                btnConectar.Enabled    = true;
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }// btnDesconectar_Click
Example #13
0
 public void EnviarPaquete(Paquete paquete)
 {
     EscribirMsj(paquete);
 }
Example #14
0
        private void resultado(string A1, string A2, string A3, string A4, string A5, string A6, string A7, string A8, string A9)
        {
            Console.WriteLine("Evaluar");
            Console.WriteLine(jug1);
            Console.WriteLine(jug2);
            Console.WriteLine("clientes");
            string variable = null;

            if (btnA1.Text != "" && btnA2.Text != "" && btnA3.Text != "" && btnA4.Text != "" && btnA5.Text != "" && btnA6.Text != "" && btnA7.Text != "" && btnA8.Text != "" && btnA9.Text != "")
            {
                Console.WriteLine("finalizo");
                if ((btnA1.Text == "O") && ((A1 == A2 && A1 == A3) || (A1 == A4 && A1 == A7) || (A1 == A5 && A1 == A9)))
                {
                    Console.WriteLine(jug1 + "gano");
                    variable = "gano";
                }
                else if ((btnA2.Text == "O") && ((A2 == A5 && A2 == A8)))
                {
                    Console.WriteLine(jug1 + "gano");
                    variable = "gano";
                }
                else if ((btnA3.Text == "O") && ((A3 == A6 && A3 == A9) || (A3 == A5 && A3 == A7)))
                {
                    Console.WriteLine(jug1 + "gano");
                    variable = "gano";
                }
                else if ((btnA4.Text == "O") && ((A4 == A5 && A4 == A6)))
                {
                    Console.WriteLine(jug1 + "gano");
                    variable = "gano";
                }
                else if ((btnA7.Text == "O") && ((A7 == A8 && A7 == A9)))
                {
                    Console.WriteLine(jug1 + "gano");
                    variable = "gano";
                }
                else if ((btnA1.Text == "X") && ((A1 == A2 && A1 == A3) || (A1 == A4 && A1 == A7) || (A1 == A5 && A1 == A9)))
                {
                    Console.WriteLine(jug1 + "perdio");
                    variable = "perdio";
                }
                else if ((btnA2.Text == "X") && ((A2 == A5 && A2 == A8)))
                {
                    Console.WriteLine(jug1 + "perdio");
                    variable = "perdio";
                }
                else if ((btnA3.Text == "X") && ((A3 == A6 && A3 == A9) || (A3 == A5 && A3 == A7)))
                {
                    Console.WriteLine(jug1 + "perdio");
                    variable = "perdio";
                }
                else if ((btnA4.Text == "X") && ((A4 == A5 && A4 == A6)))
                {
                    Console.WriteLine(jug1 + "perdio");
                    variable = "perdio";
                }
                else if ((btnA7.Text == "X") && ((A7 == A8 && A7 == A9)))
                {
                    Console.WriteLine(jug1 + "perdio");
                    variable = "perdio";
                }
                else
                {
                    variable = "empate";
                }
                switch (variable)
                {
                case "gano":

                    nombre = txtNombre.Text;
                    Paquete paqueteRespuesta = new Paquete();
                    paqueteRespuesta.NombreChat        = nombre;
                    paqueteRespuesta.MensajeChat       = "PERDIO," + jugadormensaje;
                    paqueteRespuesta.IdentificadorChat = IdentificadorDato.Resultado;
                    byte[] buferTx = paqueteRespuesta.ObtenerArregloBytes();
                    socketCliente.BeginSendTo(buferTx, 0, buferTx.Length, SocketFlags.None, epServidor, new AsyncCallback(ProcesarEnviar), null);
                    MessageBox.Show("Usted GANO");
                    break;

                case "perdio":
                    nombre = txtNombre.Text;
                    Paquete paqueteRespuesta2 = new Paquete();
                    paqueteRespuesta2.NombreChat        = nombre;
                    paqueteRespuesta2.MensajeChat       = "GANO," + jugadormensaje;
                    paqueteRespuesta2.IdentificadorChat = IdentificadorDato.Resultado;
                    byte[] buferTx2 = paqueteRespuesta2.ObtenerArregloBytes();
                    socketCliente.BeginSendTo(buferTx2, 0, buferTx2.Length, SocketFlags.None, epServidor, new AsyncCallback(ProcesarEnviar), null);
                    MessageBox.Show("Usted PERDIO");
                    break;

                case "empate":
                    nombre = txtNombre.Text;
                    Paquete paqueteRespuesta1 = new Paquete();
                    paqueteRespuesta1.NombreChat        = nombre;
                    paqueteRespuesta1.MensajeChat       = "EMPATE," + jugadormensaje;
                    paqueteRespuesta1.IdentificadorChat = IdentificadorDato.Resultado;
                    byte[] buferTx1 = paqueteRespuesta1.ObtenerArregloBytes();
                    socketCliente.BeginSendTo(buferTx1, 0, buferTx1.Length, SocketFlags.None, epServidor, new AsyncCallback(ProcesarEnviar), null);
                    MessageBox.Show("EMPATE");
                    break;
                }
            }
            else
            {
                Console.WriteLine("la partida continua");
            }
        }
Example #15
0
        //23
        private void ProcesarRecibir(IAsyncResult res)
        {
            try
            {
                socketCliente.EndReceive(res);
                Paquete paqueteRecibido = new Paquete(buferRx);
                if (paqueteRecibido.MensajeChat != null)
                {
                    switch (paqueteRecibido.IdentificadorChat)
                    {
                    case IdentificadorDato.Mensaje:
                        clientes = paqueteRecibido.NombreChat;
                        delegadoActualizacion1 = new DelegadoMensajeActualizacion1(DesplegarMensaje1);
                        Invoke(delegadoActualizacion1, new object[] { paqueteRecibido.MensajeChat });

                        break;

                    case IdentificadorDato.Listado:
                        switch (paqueteRecibido.IdentificadorL)
                        {
                        case IdentificadorListado.Tuinfo:
                            miinformacion = paqueteRecibido.MensajeChat;
                            Console.WriteLine(miinformacion);
                            break;

                        case IdentificadorListado.Conectado:
                            Invoke(delegadoActualizacion, new object[] { paqueteRecibido.MensajeChat });
                            break;

                        case IdentificadorListado.Desconectado:
                            Invoke(delegadoActualizacion, new object[] { paqueteRecibido.MensajeChat });
                            break;

                        case IdentificadorListado.Actualiza:
                            Invoke(delegadoActualizacion, new object[] { paqueteRecibido.MensajeChat });
                            break;
                        }
                        Invoke(delegadoActualizacion, new object[] { paqueteRecibido.MensajeChat });
                        break;

                    case IdentificadorDato.Iniciar:
                        switch (paqueteRecibido.IdentificadorL)
                        {
                        case IdentificadorListado.Aceptar:
                            btnA1.Visible       = true;
                            btnA2.Visible       = true;
                            btnA3.Visible       = true;
                            btnA4.Visible       = true;
                            btnA5.Visible       = true;
                            btnA6.Visible       = true;
                            btnA7.Visible       = true;
                            btnA8.Visible       = true;
                            btnA9.Visible       = true;
                            lstClientes.Visible = false;
                            btnEnviar.Enabled   = false;
                            btnSalir.Enabled    = false;
                            String[] substrings1 = paqueteRecibido.MensajeChat.Split(',', ':');
                            String   dato        = string.Format("Inicio Partida con: {0}", substrings1[0]);
                            jugador        = new Cliente();
                            jugador.nombre = substrings1[0];
                            IPAddress  jug  = IPAddress.Parse(substrings1[1]);
                            IPEndPoint endp = new IPEndPoint(jug, Convert.ToInt32(substrings1[2]));
                            jugador.puntoExtremo = endp;
                            jugadormensaje       = paqueteRecibido.MensajeChat;
                            Console.WriteLine("no yo" + jugadormensaje);
                            MessageBox.Show(dato, "JUGAR");

                            break;

                        case IdentificadorListado.Negar:
                            btnA1.Visible       = false;
                            btnA2.Visible       = false;
                            btnA3.Visible       = false;
                            btnA4.Visible       = false;
                            btnA5.Visible       = false;
                            btnA6.Visible       = false;
                            btnA7.Visible       = false;
                            btnA8.Visible       = false;
                            btnA9.Visible       = false;
                            lstClientes.Visible = true;
                            String[] substrings2 = paqueteRecibido.MensajeChat.Split(',', ':');
                            String   dato2       = string.Format("Nego Partida: {0}", substrings2[0]);
                            MessageBox.Show(dato2);

                            break;
                        }

                        break;

                    case IdentificadorDato.Jugada:

                        Console.WriteLine(paqueteRecibido.MensajeChat);
                        String[] substrings21 = paqueteRecibido.MensajeChat.Split(',', ':');
                        switch (substrings21[0])
                        {
                        case "A1":
                            btnA1.Text    = "X";
                            btnA1.Enabled = false;
                            Console.WriteLine("A1");

                            break;

                        case "A2":
                            btnA2.Text    = "X";
                            btnA2.Enabled = false;
                            Console.WriteLine("A2");
                            break;

                        case "A3":
                            btnA3.Text    = "X";
                            btnA3.Enabled = false;
                            Console.WriteLine("A3");
                            break;

                        case "A4":
                            btnA4.Text    = "X";
                            btnA4.Enabled = false;
                            Console.WriteLine("A4");
                            break;

                        case "A5":
                            btnA5.Text    = "X";
                            btnA5.Enabled = false;
                            Console.WriteLine("A5");
                            break;

                        case "A6":
                            btnA6.Text    = "X";
                            btnA6.Enabled = false;
                            Console.WriteLine("A6");
                            break;

                        case "A7":
                            btnA7.Text = "X";
                            Console.WriteLine("A7");
                            btnA7.Enabled = false;
                            break;

                        case "A8":
                            btnA8.Text    = "X";
                            btnA8.Enabled = false;
                            Console.WriteLine("A8");
                            break;

                        case "A9":
                            btnA9.Text = "X";
                            Console.WriteLine("A9");
                            btnA9.Enabled = false;
                            break;
                        }
                        reanudar();
                        break;

                    case IdentificadorDato.Resultado:
                        String[] substrings22 = paqueteRecibido.MensajeChat.Split(',', ':');
                        Console.WriteLine("paquete recibido");

                        MessageBox.Show("RESULTADO: " + substrings22[0]);
                        break;
                    }
                }

                socketCliente.BeginReceiveFrom(buferRx, 0, buferRx.Length, SocketFlags.None, ref epServidor, new AsyncCallback(ProcesarRecibir), null);
                //Invoke(delegadoActualizacion, new object[] { paqueteRecibido.MensajeChat });
            }
            catch (ObjectDisposedException) { }
            catch (Exception ex) { MessageBox.Show("Datos Recibidos: " + ex.Message, "Cliente UDP", MessageBoxButtons.OK, MessageBoxIcon.Error); }
        }