diff --git a/README.md b/README.md index 9e8e983..0a8f96e 100644 --- a/README.md +++ b/README.md @@ -2,3 +2,4 @@ ## Tags: VersionInicial VersionConNuevoServicio + VersionConConexionDesconexion diff --git a/clienteEjercicioGuia/WindowsFormsApplication1/Form1.Designer.cs b/clienteEjercicioGuia/WindowsFormsApplication1/Form1.Designer.cs index 5a835c0..05a63a7 100644 --- a/clienteEjercicioGuia/WindowsFormsApplication1/Form1.Designer.cs +++ b/clienteEjercicioGuia/WindowsFormsApplication1/Form1.Designer.cs @@ -30,12 +30,15 @@ private void InitializeComponent() { this.label2 = new System.Windows.Forms.Label(); this.nombre = new System.Windows.Forms.TextBox(); + this.button1 = new System.Windows.Forms.Button(); this.button2 = new System.Windows.Forms.Button(); this.groupBox1 = new System.Windows.Forms.GroupBox(); this.Longitud = new System.Windows.Forms.RadioButton(); this.Bonito = new System.Windows.Forms.RadioButton(); this.altura = new System.Windows.Forms.RadioButton(); + this.label3 = new System.Windows.Forms.Label(); this.alturaBox = new System.Windows.Forms.TextBox(); + this.button3 = new System.Windows.Forms.Button(); this.groupBox1.SuspendLayout(); this.SuspendLayout(); // @@ -56,9 +59,20 @@ private void InitializeComponent() this.nombre.Size = new System.Drawing.Size(164, 20); this.nombre.TabIndex = 3; // + // button1 + // + this.button1.Font = new System.Drawing.Font("Microsoft Sans Serif", 15.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.button1.Location = new System.Drawing.Point(25, 40); + this.button1.Name = "button1"; + this.button1.Size = new System.Drawing.Size(149, 31); + this.button1.TabIndex = 4; + this.button1.Text = "conectar"; + this.button1.UseVisualStyleBackColor = true; + this.button1.Click += new System.EventHandler(this.button1_Click); + // // button2 // - this.button2.Location = new System.Drawing.Point(125, 193); + this.button2.Location = new System.Drawing.Point(126, 157); this.button2.Name = "button2"; this.button2.Size = new System.Drawing.Size(75, 23); this.button2.TabIndex = 5; @@ -69,16 +83,17 @@ private void InitializeComponent() // groupBox1 // this.groupBox1.BackColor = System.Drawing.SystemColors.ActiveBorder; - this.groupBox1.Controls.Add(this.alturaBox); - this.groupBox1.Controls.Add(this.altura); this.groupBox1.Controls.Add(this.Longitud); + this.groupBox1.Controls.Add(this.altura); + this.groupBox1.Controls.Add(this.label3); + this.groupBox1.Controls.Add(this.alturaBox); this.groupBox1.Controls.Add(this.Bonito); this.groupBox1.Controls.Add(this.label2); this.groupBox1.Controls.Add(this.button2); this.groupBox1.Controls.Add(this.nombre); - this.groupBox1.Location = new System.Drawing.Point(12, 114); + this.groupBox1.Location = new System.Drawing.Point(23, 104); this.groupBox1.Name = "groupBox1"; - this.groupBox1.Size = new System.Drawing.Size(363, 282); + this.groupBox1.Size = new System.Drawing.Size(363, 202); this.groupBox1.TabIndex = 6; this.groupBox1.TabStop = false; this.groupBox1.Text = "Peticion"; @@ -108,27 +123,49 @@ private void InitializeComponent() // altura // this.altura.AutoSize = true; - this.altura.Location = new System.Drawing.Point(115, 114); + this.altura.Location = new System.Drawing.Point(116, 119); this.altura.Name = "altura"; this.altura.Size = new System.Drawing.Size(98, 17); - this.altura.TabIndex = 9; + this.altura.TabIndex = 7; this.altura.TabStop = true; this.altura.Text = "Dime si soy alto"; this.altura.UseVisualStyleBackColor = true; // + // label3 + // + this.label3.AutoSize = true; + this.label3.Location = new System.Drawing.Point(19, 91); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(34, 13); + this.label3.TabIndex = 8; + this.label3.Text = "Altura"; + // // alturaBox // - this.alturaBox.Location = new System.Drawing.Point(17, 114); + this.alturaBox.Location = new System.Drawing.Point(15, 110); this.alturaBox.Name = "alturaBox"; - this.alturaBox.Size = new System.Drawing.Size(77, 20); - this.alturaBox.TabIndex = 10; + this.alturaBox.Size = new System.Drawing.Size(62, 20); + this.alturaBox.TabIndex = 9; + // + // button3 + // + this.button3.Font = new System.Drawing.Font("Microsoft Sans Serif", 15.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.button3.Location = new System.Drawing.Point(25, 332); + this.button3.Name = "button3"; + this.button3.Size = new System.Drawing.Size(147, 53); + this.button3.TabIndex = 10; + this.button3.Text = "desconectar"; + this.button3.UseVisualStyleBackColor = true; + this.button3.Click += new System.EventHandler(this.button3_Click); // // Form1 // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.ClientSize = new System.Drawing.Size(741, 562); + this.Controls.Add(this.button3); this.Controls.Add(this.groupBox1); + this.Controls.Add(this.button1); this.Name = "Form1"; this.Text = "Form1"; this.Load += new System.EventHandler(this.Form1_Load); @@ -142,12 +179,15 @@ private void InitializeComponent() private System.Windows.Forms.Label label2; private System.Windows.Forms.TextBox nombre; + private System.Windows.Forms.Button button1; private System.Windows.Forms.Button button2; private System.Windows.Forms.GroupBox groupBox1; private System.Windows.Forms.RadioButton Longitud; private System.Windows.Forms.RadioButton Bonito; - private System.Windows.Forms.TextBox alturaBox; private System.Windows.Forms.RadioButton altura; + private System.Windows.Forms.Label label3; + private System.Windows.Forms.TextBox alturaBox; + private System.Windows.Forms.Button button3; } } diff --git a/clienteEjercicioGuia/WindowsFormsApplication1/Form1.cs b/clienteEjercicioGuia/WindowsFormsApplication1/Form1.cs index d42c5d1..ef79edc 100644 --- a/clienteEjercicioGuia/WindowsFormsApplication1/Form1.cs +++ b/clienteEjercicioGuia/WindowsFormsApplication1/Form1.cs @@ -25,15 +25,13 @@ private void Form1_Load(object sender, EventArgs e) } - - private void button2_Click(object sender, EventArgs e) + private void button1_Click(object sender, EventArgs e) { - //Creamos un IPEndPoint con el ip del servidor y puerto del servidor //al que deseamos conectarnos IPAddress direc = IPAddress.Parse("192.168.56.102"); - IPEndPoint ipep = new IPEndPoint(direc, 9070); - + IPEndPoint ipep = new IPEndPoint(direc, 9050); + //Creamos el socket server = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); @@ -41,82 +39,85 @@ private void button2_Click(object sender, EventArgs e) { server.Connect(ipep);//Intentamos conectar el socket this.BackColor = Color.Green; - // MessageBox.Show("Conectado"); - - if (Longitud.Checked) - { - string mensaje = "1/" + nombre.Text; - // 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]; - MessageBox.Show("La longitud de tu nombre es: " + mensaje); - } - else if (Bonito.Checked) - { - string mensaje = "2/" + nombre.Text; - // 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 == "SI") - MessageBox.Show("Tu nombre ES bonito."); - else - MessageBox.Show("Tu nombre NO es bonito. Lo siento."); - - - } - else - { - string mensaje = "3/" + nombre.Text + "/" + alturaBox.Text; - // Enviamos al servidor el nombre tecleado - byte[] msg = System.Text.Encoding.ASCII.GetBytes(mensaje); - server.Send(msg); + MessageBox.Show("Conectado"); - //Recibimos la respuesta del servidor - byte[] msg2 = new byte[80]; - server.Receive(msg2); - mensaje = Encoding.ASCII.GetString(msg2).Split('\0')[0]; + } + catch (SocketException ex) + { + //Si hay excepcion imprimimos error y salimos del programa con return + MessageBox.Show("No he podido conectar con el servidor"); + return; + } + } + private void button2_Click(object sender, EventArgs e) + { + if (Longitud.Checked) + { + string mensaje = "1/" + nombre.Text; + // 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]; + MessageBox.Show("La longitud de tu nombre es: " + mensaje); + } + else if (Bonito.Checked) + { + string mensaje = "2/" + nombre.Text; + // Enviamos al servidor el nombre tecleado + byte[] msg = System.Text.Encoding.ASCII.GetBytes(mensaje); + server.Send(msg); - MessageBox.Show(mensaje); - } - // Se terminó el servicio. - // Nos desconectamos - this.BackColor = Color.Gray; - server.Shutdown(SocketShutdown.Both); - server.Close(); + //Recibimos la respuesta del servidor + byte[] msg2 = new byte[80]; + server.Receive(msg2); + mensaje = Encoding.ASCII.GetString(msg2).Split('\0')[0]; + if (mensaje == "SI") + MessageBox.Show("Tu nombre ES bonito."); + else + MessageBox.Show("Tu nombre NO bonito. Lo siento."); } - catch (SocketException ex) + else { - //Si hay excepcion imprimimos error y salimos del programa con return - MessageBox.Show("No he podido conectar con el servidor"); - return; - } + // Enviamos nombre y altura + string mensaje = "3/" + nombre.Text + "/" + alturaBox.Text; + // 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]; + MessageBox.Show(mensaje); + } + + + } - + private void button3_Click(object sender, EventArgs e) + { + //Mensaje de desconexión + string mensaje = "0/"; + + byte[] msg = System.Text.Encoding.ASCII.GetBytes(mensaje); + server.Send(msg); - - - + // Nos desconectamos + this.BackColor = Color.Gray; + server.Shutdown(SocketShutdown.Both); + server.Close(); - } - + } } diff --git a/clienteEjercicioGuia/WindowsFormsApplication1/bin/Debug/WindowsFormsApplication1.exe b/clienteEjercicioGuia/WindowsFormsApplication1/bin/Debug/WindowsFormsApplication1.exe index 33e9ffc..1bcf777 100644 Binary files a/clienteEjercicioGuia/WindowsFormsApplication1/bin/Debug/WindowsFormsApplication1.exe and b/clienteEjercicioGuia/WindowsFormsApplication1/bin/Debug/WindowsFormsApplication1.exe differ diff --git a/clienteEjercicioGuia/WindowsFormsApplication1/bin/Debug/WindowsFormsApplication1.pdb b/clienteEjercicioGuia/WindowsFormsApplication1/bin/Debug/WindowsFormsApplication1.pdb index edb411a..f2b8aea 100644 Binary files a/clienteEjercicioGuia/WindowsFormsApplication1/bin/Debug/WindowsFormsApplication1.pdb and b/clienteEjercicioGuia/WindowsFormsApplication1/bin/Debug/WindowsFormsApplication1.pdb differ diff --git a/clienteEjercicioGuia/WindowsFormsApplication1/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/clienteEjercicioGuia/WindowsFormsApplication1/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache index e91e12f..f9818b8 100644 Binary files a/clienteEjercicioGuia/WindowsFormsApplication1/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache and b/clienteEjercicioGuia/WindowsFormsApplication1/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache differ diff --git a/clienteEjercicioGuia/WindowsFormsApplication1/obj/Debug/WindowsFormsApplication1.exe b/clienteEjercicioGuia/WindowsFormsApplication1/obj/Debug/WindowsFormsApplication1.exe index 33e9ffc..1bcf777 100644 Binary files a/clienteEjercicioGuia/WindowsFormsApplication1/obj/Debug/WindowsFormsApplication1.exe and b/clienteEjercicioGuia/WindowsFormsApplication1/obj/Debug/WindowsFormsApplication1.exe differ diff --git a/clienteEjercicioGuia/WindowsFormsApplication1/obj/Debug/WindowsFormsApplication1.pdb b/clienteEjercicioGuia/WindowsFormsApplication1/obj/Debug/WindowsFormsApplication1.pdb index edb411a..f2b8aea 100644 Binary files a/clienteEjercicioGuia/WindowsFormsApplication1/obj/Debug/WindowsFormsApplication1.pdb and b/clienteEjercicioGuia/WindowsFormsApplication1/obj/Debug/WindowsFormsApplication1.pdb differ diff --git a/clienteEjercicioGuia/WindowsFormsApplication1/obj/Debug/clienteForm.csproj.FileListAbsolute.txt b/clienteEjercicioGuia/WindowsFormsApplication1/obj/Debug/clienteForm.csproj.FileListAbsolute.txt index 28d3fe5..9871c3c 100644 --- a/clienteEjercicioGuia/WindowsFormsApplication1/obj/Debug/clienteForm.csproj.FileListAbsolute.txt +++ b/clienteEjercicioGuia/WindowsFormsApplication1/obj/Debug/clienteForm.csproj.FileListAbsolute.txt @@ -70,38 +70,30 @@ E:\Docencia\SO\2016-2017Q2\EjercicioGuia\Parte_1_ServidorSecuencial_1\cliente\Wi E:\Docencia\SO\2016-2017Q2\EjercicioGuia\Parte_1_ServidorSecuencial_1\cliente\WindowsFormsApplication1\obj\Debug\WindowsFormsApplication1.Form1.resources E:\Docencia\SO\2016-2017Q2\EjercicioGuia\Parte_1_ServidorSecuencial_1\cliente\WindowsFormsApplication1\obj\Debug\WindowsFormsApplication1.Properties.Resources.resources E:\Docencia\SO\2016-2017Q2\EjercicioGuia\Parte_1_ServidorSecuencial_1\cliente\WindowsFormsApplication1\obj\Debug\clienteForm.csproj.GenerateResource.Cache -E:\Docencia\SO\2017-2018Q1\EjercicioGuia\Parte_1_ServidorSecuencial_1\cliente 0\WindowsFormsApplication1\obj\Debug\WindowsFormsApplication1.exe -E:\Docencia\SO\2017-2018Q1\EjercicioGuia\Parte_1_ServidorSecuencial_1\cliente 0\WindowsFormsApplication1\obj\Debug\WindowsFormsApplication1.pdb -E:\Docencia\SO\2017-2018Q1\EjercicioGuia\Parte_1_ServidorSecuencial_1\cliente 0\WindowsFormsApplication1\obj\Debug\clienteForm.csprojResolveAssemblyReference.cache -E:\Docencia\SO\2017-2018Q1\EjercicioGuia\Parte_1_ServidorSecuencial_1\cliente 0\WindowsFormsApplication1\obj\Debug\WindowsFormsApplication1.Form1.resources -E:\Docencia\SO\2017-2018Q1\EjercicioGuia\Parte_1_ServidorSecuencial_1\cliente 0\WindowsFormsApplication1\obj\Debug\WindowsFormsApplication1.Properties.Resources.resources -E:\Docencia\SO\2017-2018Q1\EjercicioGuia\Parte_1_ServidorSecuencial_1\cliente 0\WindowsFormsApplication1\obj\Debug\clienteForm.csproj.GenerateResource.Cache -E:\Docencia\SO\2017-2018Q1\EjercicioGuia\Parte_1_ServidorSecuencial_1\cliente 0\WindowsFormsApplication1\bin\Debug\WindowsFormsApplication1.exe -E:\Docencia\SO\2017-2018Q1\EjercicioGuia\Parte_1_ServidorSecuencial_1\cliente 0\WindowsFormsApplication1\bin\Debug\WindowsFormsApplication1.pdb -E:\Docencia\SO\VideosEjercciioGuia\Parte_1_ServidorSecuencial_1\cliente 0\WindowsFormsApplication1\obj\Debug\WindowsFormsApplication1.exe -E:\Docencia\SO\VideosEjercciioGuia\Parte_1_ServidorSecuencial_1\cliente 0\WindowsFormsApplication1\obj\Debug\WindowsFormsApplication1.pdb -E:\Docencia\SO\VideosEjercciioGuia\Parte_1_ServidorSecuencial_1\cliente 0\WindowsFormsApplication1\bin\Debug\WindowsFormsApplication1.exe -E:\Docencia\SO\VideosEjercciioGuia\Parte_1_ServidorSecuencial_1\cliente 0\WindowsFormsApplication1\bin\Debug\WindowsFormsApplication1.pdb -E:\Docencia\SO\VideosEjercciioGuia\Parte_1_ServidorSecuencial_1\cliente 0\WindowsFormsApplication1\obj\Debug\clienteForm.csprojResolveAssemblyReference.cache -E:\Docencia\SO\VideosEjercciioGuia\Parte_1_ServidorSecuencial_1\cliente 0\WindowsFormsApplication1\obj\Debug\WindowsFormsApplication1.Form1.resources -E:\Docencia\SO\VideosEjercciioGuia\Parte_1_ServidorSecuencial_1\cliente 0\WindowsFormsApplication1\obj\Debug\WindowsFormsApplication1.Properties.Resources.resources -E:\Docencia\SO\VideosEjercciioGuia\Parte_1_ServidorSecuencial_1\cliente 0\WindowsFormsApplication1\obj\Debug\clienteForm.csproj.GenerateResource.Cache -E:\Docencia\SO\VideosEjercciioGuia\Parte_1_ServidorSecuencial_1\cliente 1\WindowsFormsApplication1\obj\Debug\WindowsFormsApplication1.exe -E:\Docencia\SO\VideosEjercciioGuia\Parte_1_ServidorSecuencial_1\cliente 1\WindowsFormsApplication1\obj\Debug\WindowsFormsApplication1.pdb -E:\Docencia\SO\VideosEjercciioGuia\Parte_1_ServidorSecuencial_1\cliente 1\WindowsFormsApplication1\bin\Debug\WindowsFormsApplication1.exe -E:\Docencia\SO\VideosEjercciioGuia\Parte_1_ServidorSecuencial_1\cliente 1\WindowsFormsApplication1\bin\Debug\WindowsFormsApplication1.pdb -E:\Docencia\SO\VideosEjercciioGuia\Parte_1_ServidorSecuencial_1\cliente 1\WindowsFormsApplication1\obj\Debug\clienteForm.csprojResolveAssemblyReference.cache -E:\Docencia\SO\VideosEjercciioGuia\Parte_1_ServidorSecuencial_1\cliente 1\WindowsFormsApplication1\obj\Debug\WindowsFormsApplication1.Form1.resources -E:\Docencia\SO\VideosEjercciioGuia\Parte_1_ServidorSecuencial_1\cliente 1\WindowsFormsApplication1\obj\Debug\WindowsFormsApplication1.Properties.Resources.resources -E:\Docencia\SO\VideosEjercciioGuia\Parte_1_ServidorSecuencial_1\cliente 1\WindowsFormsApplication1\obj\Debug\clienteForm.csproj.GenerateResource.Cache -E:\Docencia\SO\VideosEjercciioGuia\Leccion1\Codigo\cliente_con_nuevo_servicio\WindowsFormsApplication1\obj\Debug\WindowsFormsApplication1.exe -E:\Docencia\SO\VideosEjercciioGuia\Leccion1\Codigo\cliente_con_nuevo_servicio\WindowsFormsApplication1\obj\Debug\WindowsFormsApplication1.pdb -F:\Julio2018\Docencia\SO\2021-2022Q2\EjercicioGuiaEnGitHub\AplicacionDespuesDeNuevoServicio\cliente_con_nuevo_servicio\WindowsFormsApplication1\bin\Debug\WindowsFormsApplication1.exe -F:\Julio2018\Docencia\SO\2021-2022Q2\EjercicioGuiaEnGitHub\AplicacionDespuesDeNuevoServicio\cliente_con_nuevo_servicio\WindowsFormsApplication1\bin\Debug\WindowsFormsApplication1.pdb -F:\Julio2018\Docencia\SO\2021-2022Q2\EjercicioGuiaEnGitHub\AplicacionDespuesDeNuevoServicio\cliente_con_nuevo_servicio\WindowsFormsApplication1\obj\Debug\clienteForm.csprojAssemblyReference.cache -F:\Julio2018\Docencia\SO\2021-2022Q2\EjercicioGuiaEnGitHub\AplicacionDespuesDeNuevoServicio\cliente_con_nuevo_servicio\WindowsFormsApplication1\obj\Debug\WindowsFormsApplication1.Form1.resources -F:\Julio2018\Docencia\SO\2021-2022Q2\EjercicioGuiaEnGitHub\AplicacionDespuesDeNuevoServicio\cliente_con_nuevo_servicio\WindowsFormsApplication1\obj\Debug\WindowsFormsApplication1.Properties.Resources.resources -F:\Julio2018\Docencia\SO\2021-2022Q2\EjercicioGuiaEnGitHub\AplicacionDespuesDeNuevoServicio\cliente_con_nuevo_servicio\WindowsFormsApplication1\obj\Debug\clienteForm.csproj.GenerateResource.cache -F:\Julio2018\Docencia\SO\2021-2022Q2\EjercicioGuiaEnGitHub\AplicacionDespuesDeNuevoServicio\cliente_con_nuevo_servicio\WindowsFormsApplication1\obj\Debug\clienteForm.csproj.CoreCompileInputs.cache -F:\Julio2018\Docencia\SO\2021-2022Q2\EjercicioGuiaEnGitHub\AplicacionDespuesDeNuevoServicio\cliente_con_nuevo_servicio\WindowsFormsApplication1\obj\Debug\WindowsFormsApplication1.exe -F:\Julio2018\Docencia\SO\2021-2022Q2\EjercicioGuiaEnGitHub\AplicacionDespuesDeNuevoServicio\cliente_con_nuevo_servicio\WindowsFormsApplication1\obj\Debug\WindowsFormsApplication1.pdb +E:\Docencia\SO\VideosEjercciioGuia\Parte_1_ServidorSecuencial_1\cliente\WindowsFormsApplication1\obj\Debug\WindowsFormsApplication1.exe +E:\Docencia\SO\VideosEjercciioGuia\Parte_1_ServidorSecuencial_1\cliente\WindowsFormsApplication1\obj\Debug\WindowsFormsApplication1.pdb +E:\Docencia\SO\VideosEjercciioGuia\Parte_1_ServidorSecuencial_1\cliente 2\WindowsFormsApplication1\obj\Debug\WindowsFormsApplication1.exe +E:\Docencia\SO\VideosEjercciioGuia\Parte_1_ServidorSecuencial_1\cliente 2\WindowsFormsApplication1\obj\Debug\WindowsFormsApplication1.pdb +E:\Docencia\SO\VideosEjercciioGuia\Parte_1_ServidorSecuencial_1\cliente 2\WindowsFormsApplication1\bin\Debug\WindowsFormsApplication1.exe +E:\Docencia\SO\VideosEjercciioGuia\Parte_1_ServidorSecuencial_1\cliente 2\WindowsFormsApplication1\bin\Debug\WindowsFormsApplication1.pdb +E:\Docencia\SO\VideosEjercciioGuia\Parte_1_ServidorSecuencial_1\cliente 2\WindowsFormsApplication1\obj\Debug\clienteForm.csprojResolveAssemblyReference.cache +E:\Docencia\SO\VideosEjercciioGuia\Parte_1_ServidorSecuencial_1\cliente 2\WindowsFormsApplication1\obj\Debug\WindowsFormsApplication1.Form1.resources +E:\Docencia\SO\VideosEjercciioGuia\Parte_1_ServidorSecuencial_1\cliente 2\WindowsFormsApplication1\obj\Debug\WindowsFormsApplication1.Properties.Resources.resources +E:\Docencia\SO\VideosEjercciioGuia\Parte_1_ServidorSecuencial_1\cliente 2\WindowsFormsApplication1\obj\Debug\clienteForm.csproj.GenerateResource.Cache +E:\Docencia\SO\VideosEjercciioGuia\Leccion1\Codigo\cliente_con_conexion_desconexion\WindowsFormsApplication1\obj\Debug\WindowsFormsApplication1.exe +E:\Docencia\SO\VideosEjercciioGuia\Leccion1\Codigo\cliente_con_conexion_desconexion\WindowsFormsApplication1\obj\Debug\WindowsFormsApplication1.pdb +E:\Docencia\SO\VideosEjercciioGuia\Leccion1\Codigo\cliente_con_conexion_desconexion\WindowsFormsApplication1\bin\Debug\WindowsFormsApplication1.exe +E:\Docencia\SO\VideosEjercciioGuia\Leccion1\Codigo\cliente_con_conexion_desconexion\WindowsFormsApplication1\bin\Debug\WindowsFormsApplication1.pdb +E:\Docencia\SO\VideosEjercciioGuia\Leccion1\Codigo\cliente_con_conexion_desconexion\WindowsFormsApplication1\obj\Debug\clienteForm.csprojResolveAssemblyReference.cache +E:\Docencia\SO\VideosEjercciioGuia\Leccion1\Codigo\cliente_con_conexion_desconexion\WindowsFormsApplication1\obj\Debug\WindowsFormsApplication1.Form1.resources +E:\Docencia\SO\VideosEjercciioGuia\Leccion1\Codigo\cliente_con_conexion_desconexion\WindowsFormsApplication1\obj\Debug\WindowsFormsApplication1.Properties.Resources.resources +E:\Docencia\SO\VideosEjercciioGuia\Leccion1\Codigo\cliente_con_conexion_desconexion\WindowsFormsApplication1\obj\Debug\clienteForm.csproj.GenerateResource.Cache +F:\Julio2018\Docencia\SO\2021-2022Q2\EjercicioGuiaEnGitHub\AplicacionConConexionDesconexion\cliente_con_conexion_desconexion\WindowsFormsApplication1\bin\Debug\WindowsFormsApplication1.exe +F:\Julio2018\Docencia\SO\2021-2022Q2\EjercicioGuiaEnGitHub\AplicacionConConexionDesconexion\cliente_con_conexion_desconexion\WindowsFormsApplication1\bin\Debug\WindowsFormsApplication1.pdb +F:\Julio2018\Docencia\SO\2021-2022Q2\EjercicioGuiaEnGitHub\AplicacionConConexionDesconexion\cliente_con_conexion_desconexion\WindowsFormsApplication1\obj\Debug\clienteForm.csprojAssemblyReference.cache +F:\Julio2018\Docencia\SO\2021-2022Q2\EjercicioGuiaEnGitHub\AplicacionConConexionDesconexion\cliente_con_conexion_desconexion\WindowsFormsApplication1\obj\Debug\WindowsFormsApplication1.Form1.resources +F:\Julio2018\Docencia\SO\2021-2022Q2\EjercicioGuiaEnGitHub\AplicacionConConexionDesconexion\cliente_con_conexion_desconexion\WindowsFormsApplication1\obj\Debug\WindowsFormsApplication1.Properties.Resources.resources +F:\Julio2018\Docencia\SO\2021-2022Q2\EjercicioGuiaEnGitHub\AplicacionConConexionDesconexion\cliente_con_conexion_desconexion\WindowsFormsApplication1\obj\Debug\clienteForm.csproj.GenerateResource.cache +F:\Julio2018\Docencia\SO\2021-2022Q2\EjercicioGuiaEnGitHub\AplicacionConConexionDesconexion\cliente_con_conexion_desconexion\WindowsFormsApplication1\obj\Debug\clienteForm.csproj.CoreCompileInputs.cache +F:\Julio2018\Docencia\SO\2021-2022Q2\EjercicioGuiaEnGitHub\AplicacionConConexionDesconexion\cliente_con_conexion_desconexion\WindowsFormsApplication1\obj\Debug\WindowsFormsApplication1.exe +F:\Julio2018\Docencia\SO\2021-2022Q2\EjercicioGuiaEnGitHub\AplicacionConConexionDesconexion\cliente_con_conexion_desconexion\WindowsFormsApplication1\obj\Debug\WindowsFormsApplication1.pdb diff --git a/clienteEjercicioGuia/WindowsFormsApplication1/obj/Debug/clienteForm.csproj.GenerateResource.cache b/clienteEjercicioGuia/WindowsFormsApplication1/obj/Debug/clienteForm.csproj.GenerateResource.cache index 80f3a61..acb29df 100644 Binary files a/clienteEjercicioGuia/WindowsFormsApplication1/obj/Debug/clienteForm.csproj.GenerateResource.cache and b/clienteEjercicioGuia/WindowsFormsApplication1/obj/Debug/clienteForm.csproj.GenerateResource.cache differ diff --git a/servidorEjercicioGuia.c b/servidorEjercicioGuia.c index 19728f1..9fff31e 100644 --- a/servidorEjercicioGuia.c +++ b/servidorEjercicioGuia.c @@ -29,7 +29,7 @@ int main(int argc, char *argv[]) //htonl formatea el numero que recibe al formato necesario serv_adr.sin_addr.s_addr = htonl(INADDR_ANY); // establecemos el puerto de escucha - serv_adr.sin_port = htons(9050); + serv_adr.sin_port = htons(9000); if (bind(sock_listen, (struct sockaddr *) &serv_adr, sizeof(serv_adr)) < 0) printf ("Error al bind"); @@ -37,7 +37,7 @@ int main(int argc, char *argv[]) printf("Error en el Listen"); int i; - // bucle infinito + // Bucle infinito for (;;){ printf ("Escuchando\n"); @@ -45,53 +45,66 @@ int main(int argc, char *argv[]) printf ("He recibido conexion\n"); //sock_conn es el socket que usaremos para este cliente - // Ahora recibimos la petici?n - ret=read(sock_conn,peticion, sizeof(peticion)); - printf ("Recibido\n"); - - // Tenemos que a?adirle la marca de fin de string - // para que no escriba lo que hay despues en el buffer - peticion[ret]='\0'; - + int terminar =0; + // Entramos en un bucle para atender todas las peticiones de este cliente + //hasta que se desconecte + while (terminar ==0) + { + // Ahora recibimos la petici?n + ret=read(sock_conn,peticion, sizeof(peticion)); + printf ("Recibido\n"); + + // Tenemos que a?adirle la marca de fin de string + // para que no escriba lo que hay despues en el buffer + peticion[ret]='\0'; + + + printf ("Peticion: %s\n",peticion); + + // vamos a ver que quieren + char *p = strtok( peticion, "/"); + int codigo = atoi (p); + // Ya tenemos el c?digo de la petici?n + char nombre[20]; + + if (codigo !=0) + { + p = strtok( NULL, "/"); - - printf ("Peticion: %s\n",peticion); - - // vamos a ver que quieren - char *p = strtok( peticion, "/"); - int codigo = atoi (p); - // Ya tenemos el c?digo de petici?n - p = strtok( NULL, "/"); - char nombre[20]; - strcpy (nombre, p); - //Ya tenemos el nombre - printf ("Codigo: %d, Nombre: %s\n", codigo, nombre); - - if (codigo ==1) //piden la longitd del nombre - sprintf (respuesta,"%d",strlen (nombre)); - else if (codigo ==2) + strcpy (nombre, p); + // Ya tenemos el nombre + printf ("Codigo: %d, Nombre: %s\n", codigo, nombre); + } + + if (codigo ==0) //petici?n de desconexi?n + terminar=1; + else if (codigo ==1) //piden la longitd del nombre + sprintf (respuesta,"%d",strlen (nombre)); + else if (codigo ==2) // quieren saber si el nombre es bonito if((nombre[0]=='M') || (nombre[0]=='S')) - strcpy (respuesta,"SI"); + strcpy (respuesta,"SI"); else strcpy (respuesta,"NO"); else //quiere saber si es alto - { - p = strtok( NULL, "/"); - float altura = atof (p); - if (altura > 1.70) - sprintf (respuesta, "%s: eres alto",nombre); - else - sprintf (respuesta, "%s: eres bajo",nombre); - } - - - - printf ("Respuesta: %s\n", respuesta); - // Enviamos la respuesta - write (sock_conn,respuesta, strlen(respuesta)); - - // Se acabo el servicio para este cliente - close(sock_conn); + { + p = strtok( NULL, "/"); + float altura = atof (p); + if (altura > 1.70) + sprintf (respuesta, "%s: eres alto",nombre); + else + sprintf (respuesta, "%s: eresbajo",nombre); + } + + if (codigo !=0) + { + + printf ("Respuesta: %s\n", respuesta); + // Enviamos respuesta + write (sock_conn,respuesta, strlen(respuesta)); + } + } + // Se acabo el servicio para este cliente + close(sock_conn); } -} \ No newline at end of file +}