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))); } }
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)); } }
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); } }
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); } }
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); } }
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); } }
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); } }
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); } }
//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); } }
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); } }
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
public void EnviarPaquete(Paquete paquete) { EscribirMsj(paquete); }
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"); } }
//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); } }