Esempio n. 1
0
 private void Form1_FormClosing(object sender, FormClosingEventArgs e)
 {
     try
     {
         if (this.socketCliente != null)
         {
             //se crea el paquete de salida
             Paquete paqueteSalida = new Paquete();
             paqueteSalida.IdentificadorChat = IdentificadorDato.Desconectado;
             paqueteSalida.NombreChat        = nombre;
             paqueteSalida.MensajeChat       = null;
             //se obtiene el arreglo de bytes de dicho paquete
             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);
     }
 }
Esempio n. 2
0
 private void btnConectar_Click(object sender, EventArgs e)
 {
     try
     {
         nombre = txtNombre.Text.Trim();
         Paquete paqueteInicio = new Paquete();
         paqueteInicio.NombreChat        = nombre;
         paqueteInicio.MensajeChat       = null;
         paqueteInicio.IdentificadorChat = IdentificadorDato.Listado;
         paqueteInicio.IdentificadorL    = IdentificadorListado.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);
         btnConectar.Enabled = false;
         txtNombre.Enabled   = false;
         txtServidor.Enabled = false;
     }
     catch (Exception ex)
     {
         MessageBox.Show("Error al conectarse: " + ex.Message, "Cliente UDP", MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
 }
Esempio n. 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); }
 }
Esempio n. 4
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); }
 }
Esempio n. 5
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); }
 }
Esempio n. 6
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);
            }
        }
Esempio n. 7
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);
     }
 }
Esempio n. 8
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");
            }
        }