private void button1_Click(object sender, EventArgs e) { if (username.Text != "" && password.Text != "") { //Creamos un IPEndPoint con el ip del servidor y puerto del servidor //al que deseamos conectarnos IPAddress direc = IPAddress.Parse("147.83.117.22"); IPEndPoint ipep = new IPEndPoint(direc, puerto); //Creamos el socket server = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); try { server.Connect(ipep);//Intentamos conectar el socket this.BackColor = Color.Green; MessageBox.Show("Conectado"); } catch (SocketException ex) { //Si hay excepcion imprimimos error y salimos del programa con return MessageBox.Show("No he podido conectar con el servidor"); return; } string user = username.Text; string pass = password.Text; string mensaje = "100/" + user + "/" + pass; // Enviamos al servidor el nombre tecleado byte[] msg = System.Text.Encoding.ASCII.GetBytes(mensaje); server.Send(msg); //Recibimos la respuesta del servidor byte[] msg2 = new byte[80]; server.Receive(msg2); mensaje = Encoding.ASCII.GetString(msg2).Split('\0')[0]; if (mensaje == "100/Correct") { MessageBox.Show("Welcome " + user + "."); prin = new Principal(server); prin.setUser(user); this.Hide(); prin.ShowDialog(); estado = prin.getStatus(); if (estado == 0) { mensaje = "0/"; msg = System.Text.Encoding.ASCII.GetBytes(mensaje); server.Send(msg); // Nos desconectamos this.BackColor = Color.Gray; server.Shutdown(SocketShutdown.Both); server.Close(); } //Mensaje de desconexión this.Close(); } else { if (mensaje == "100/NoUser") { MessageBox.Show("El usuario introducido no existe, porfavor regístrese."); } else if (mensaje == "100/Incorrect") { MessageBox.Show("Contraseña incorrecta."); } //Mensaje de desconexión mensaje = "0/"; msg = System.Text.Encoding.ASCII.GetBytes(mensaje); server.Send(msg); // Nos desconectamos this.BackColor = Color.Gray; server.Shutdown(SocketShutdown.Both); server.Close(); } } }
private void button1_Click(object sender, EventArgs e) { if (username.Text != "" && password.Text != "") { //Creamos un IPEndPoint con la dirección IP y puerto del servidor al que deseamos conectarnos. IPAddress direc = IPAddress.Parse("147.83.117.22");//147.83.117.22 192.168.56.101 IPEndPoint ipep = new IPEndPoint(direc, puerto); //Creamos el socket . server = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); //Intentamos conectar el socket. try { server.Connect(ipep); } catch (SocketException ex) { //Si hay excepcion imprimimos el error y salimos del programa con return. MessageBox.Show("No he podido conectar con el servidor" + ex.Message); return; } //Variables necesarias para el mensaje al servidor. string user = username.Text; string pass = password.Text; string mensaje = "100/" + user + "/" + pass; //Envío del mensaje al servidor. byte[] msg = System.Text.Encoding.ASCII.GetBytes(mensaje); server.Send(msg); //Se recibe la respuesta del servidor. byte[] msg2 = new byte[80]; server.Receive(msg2); mensaje = Encoding.ASCII.GetString(msg2).Split('\0')[0]; //Inicio de sesión correcto. if (mensaje == "100/Correct") { //Stop a la musica de inicio. player.Stop(); //Creación y transferencia de datos al formulaio principal. prin = new Principal(); prin.setServer(server); prin.setUser(user); this.Hide(); prin.ShowDialog(); //Recibimos el estado del usuario del formulario principal por si este desea desconectarse del juego. estado = prin.getStatus(); if (estado == 0) { //Mensaje de desconexión. mensaje = "0/"; msg = System.Text.Encoding.ASCII.GetBytes(mensaje); server.Send(msg); //Desconexión. server.Shutdown(SocketShutdown.Both); server.Close(); } this.Close(); } //Se informa al usuario mediante un MesssageBox del motivo por el cual el inicio de sesión ha fallado. else { //Usuario inexistente en la base de datos del juego. if (mensaje == "100/NoUser") { MessageBox.Show("El usuario introducido no existe, porfavor regístrese."); } //La contraseña introducida por el usuarios es errónea. else if (mensaje == "100/Incorrect") { MessageBox.Show("Contraseña incorrecta."); } //Mensaje de desconexión. mensaje = "0/"; msg = System.Text.Encoding.ASCII.GetBytes(mensaje); server.Send(msg); //Desconexión. server.Shutdown(SocketShutdown.Both); server.Close(); } } }