Practica #4 - Pagina del servidor yaqui
Transcripción
Practica #4 - Pagina del servidor yaqui
Fecha de efectividad: __________________ UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA FACULTAD DE INGENIERÍA (UNIDAD MEXICALI) DOCUMENTO DEL SISTEMA DE CALIDAD Formato para prácticas de laboratorio CARRERA PLAN DE ESTUDIO CLAVE ASIGNATURA IC 2003-1 5038 PRÁCTICA No. LABORATORIO DE 4 NOMBRE DE LA PRÁCTICA NOMBRE DE LA ASIGNATURA Programación Orientada a Objetos II DURACIÓN (HORA) Sockets 2 1 INTRODUCCIÓN Un socket es el punto final en un enlace de comunicación de dos vías entre dos programas ejecutándose en la red. Las clases de sockets se utilizan para representar la conexión entre dos programas ‘cliente’ y ‘servidor’. El paquete java.net proporciona dos clases – Socket y ServerSocket – que implementan el lado del cliente y el lado del servidor en la conexión, respectivamente. 2 OBJETIVO (COMPETENCIA) Crear una aplicación que utilice un servicio de la red para obtener información y representarla de una manera adecuada. Formuló M.C. Jorge Eduardo Ibarra Esquer Maestro Revisó M.C. Gloria Etelbina Chavez Valenzuela Coordinador de la Carrera Aprobó Autorizó M.C. Miguel Ángel Martínez Romero Gestión de la Calidad Director de la Facultad Página 1 de 5 Código GC-N4-017 . Revisión 0 . Fecha de efectividad: __________________ UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA FACULTAD DE INGENIERÍA (UNIDAD MEXICALI) DOCUMENTO DEL SISTEMA DE CALIDAD Formato para prácticas de laboratorio 3 FUNDAMENTO Normalmente, un servidor se ejecuta en una computadora específica y tiene un socket vinculado a un puerto específico. El servidor simplemente espera, permitiendo que el socket “escuche” las solicitudes de conexión de los clientes. En el lado del cliente, éste conoce la dirección de la computadora en que se ejecuta el servidor y el número del puerto al que se encuentra conectado. Para solicitar una conexión, el cliente trata de encontrarse con el servidor en su computadora y puerto. Si todo funciona correctamente, el servidor acepta la conexión. Una vez aceptada, éste abre un nuevo socket en un puerto diferente. Se necesita un nuevo socket (y, en consecuencia, un número de puerto distinto) de manera que el socket original pueda seguir recibiendo solicitudes de conexión de los clientes. En el cliente, si se acepta la conexión, se crea un socket que puede utilizarse para comunicarse con el servidor. A este socket se le asigna un puerto local en la computadora en la que se ejecuta el cliente, el cual no necesariamente es el mismo número de puerto que el del socket del servidor. En este momento, el cliente y el servidor pueden comunicarse escribiendo y leyendo a través de sus sockets. Para realizar de manera adecuada esta comunicación, es necesario establecer un protocolo. De esta forma, el servidor puede entender las solicitudes del cliente y responder de manera adecuada; y el cliente puede entender la información enviada por el servidor para poder representarla de la manera que más le convenga. Un protocolo sencillo de utilizar es el POP3 (Post Office Protocol), el cual se utiliza para recuperar los mensajes de correo electrónico desde un servidor de correo. Los comandos del protocolo POP3 son los siguientes: Página 1 de 5 Código GC-N4-017 . Revisión 0 . Fecha de efectividad: __________________ UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA FACULTAD DE INGENIERÍA (UNIDAD MEXICALI) DOCUMENTO DEL SISTEMA DE CALIDAD Formato para prácticas de laboratorio USER nombre Enviar el nombre de usuario al servidor PASS password Enviar la contraseña de la cuenta QUIT Salir de la sesión LIST [Mensaje] Obtener la lista de mensajes RETR nmes Recuperar el contenido del mensaje número nmes TOP nmes nlineas Ver las primeras nlineas del mensaje nmes DELE nmes Borrar el mensaje nmes Una sesión POP3 es como sigue: 1. Al abrir la conexión, el servidor responde con un saludo (una línea de texto) 2. El usuario envía su nombre: USER nombre 3. El servidor responde con un mensaje de aceptación (inicia con +OK) o de rechazo (inicia con -ERR) 4. El usuario envía su contraseña: PASS contraseña 5. El servidor responde con un mensaje de aceptación o de rechazo 6. Se utilizan los comandos apropiados para obtener la lista de mensajes, un mensaje completo, el encabezado o para borrar un mensaje del servidor. 7. Cada respuesta del servidor es de una línea de texto. En caso de exceder una línea, al final se envía una línea adicional que es un punto '.' 8. La sesión se termina con el comando QUIT 4 PROCEDIMIENTO (DESCRIPCIÓN) A EQUIPO NECESARIO MATERIAL DE APOYO Computadoras con una versión reciente del Java Development Kit JDK Página 1 de 5 Código GC-N4-017 . Revisión 0 . Fecha de efectividad: __________________ UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA FACULTAD DE INGENIERÍA (UNIDAD MEXICALI) DOCUMENTO DEL SISTEMA DE CALIDAD Formato para prácticas de laboratorio B DESARROLLO DE LA PRÁCTICA 1. Escribir una aplicación gráfica que funcione como un cliente para el protocolo POP3. 2. Utilizar para la conexión la cuenta asignada para el laboratorio en el servidor tiburon.mxl.uabc.mx. 3. La aplicación se conectará al servidor a través de un socket. El servidor POP3 espera conexiones en el puerto 110. 4. El cliente deberá enviar los comandos al servidor respondiendo a eventos de botones, es decir, al presionar un botón, se enviarán los comandos de manera automática. 5. El cliente deberá interpretar la respuesta del servidor e indicar el resultado de la ejecución del comando. 6. Al terminar de ejecutarse la aplicación, deberán cerrarse la sesión con el servidor y el socket. C CÁLCULOS Y REPORTE Se verificará el funcionamiento adecuado de la aplicación y se solicitará un reporte con el código de la misma. 5 RESULTADOS Y CONCLUSIONES El alumno será capaz de elaborar aplicaciones que hagan uso de diversos servicios de red. Página 1 de 5 Código GC-N4-017 . Revisión 0 . Fecha de efectividad: __________________ UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA FACULTAD DE INGENIERÍA (UNIDAD MEXICALI) DOCUMENTO DEL SISTEMA DE CALIDAD Formato para prácticas de laboratorio 6 ANEXOS SUGERENCIAS: 1. Puedes probar los comandos del protocolo POP3 abriendo una sesión en el servidor mediante el comando telnet, de la siguiente forma: telnet tiburon.mxl.uabc.mx 110 +OK POP3 tiburon.mxl.uabc.mx v2003.83mdk server ready [ISafe POP3 Proxy] user jorgeeie +OK User name accepted, password please pass aeiouoiea +OK Mailbox open, 2 messages list +OK Mailbox scan listing follows 1 875 2 1565 . retr 1 +OK 875 octets Return-Path: <[email protected]> Received: from tiburon.mxl.uabc.mx (localhost [127.0.0.1]) by tiburon.mxl.uabc.mx (8.12.11/8.12.11) with ESMTP id j7AHj9sE003794 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for <[email protected]>; Wed, 10 Aug 2005 10:45:09 -0700 Received: from localhost (jorgeeie@localhost) by tiburon.mxl.uabc.mx (8.12.11/8.12.11/Submit) with ESMTP id j7AHj90500 3790 for <[email protected]>; Wed, 10 Aug 2005 10:45:09 -0700 Date: Wed, 10 Aug 2005 10:45:07 -0700 (PDT) From: Jorge Ibarra <[email protected]> To: [email protected] Subject: Prueba Message-ID: <[email protected]> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Status: Esta es una prueba para la practica del laboratorio de POOII . quit +OK Sayonara 2. Recuerda enviarte algunos correos a tu cuenta, de manera que tengas mensajes para leer. Página 1 de 5 Código GC-N4-017 . Revisión 0 .