Práctica 3: Introducción a los sockets en Java
|
|
|
- Raúl Ortiz Campos
- hace 8 años
- Vistas:
Transcripción
1 Práctica 3: Introducción a los sockets en Java En esta práctica se va a tener una primera toma de contacto con la interfaz de los sockets en Java. Para ello plantearemos una serie de ejercicios muy sencillos que ilustran algunos conceptos básicos del funcionamiento de los sockets TCP en Java. 1. Entorno de trabajo Java está disponible para diferentes sistemas operativos y con diversos entornos de programación. Nosotros vamos a trabajar en Linux. Para editar el programa os sugerimos el uso del editor kwrite. Por otra parte, recuerda que si el nombre del fichero fuente de nuestro programa es Ejemplo.java lo compilaremos mediante la orden javac Ejemplo.java, y lo ejecutaremos tecleando java Ejemplo. Además, el lenguaje Java distingue entre mayúsculas y minúsculas, y el nombre del fichero debe coincidir con el de la clase principal. Toda la información sobre las clases de Java puede encontrarse en la página Web de Sun: Por otra parte, en se puede consultar un curso de Java.
2 P3-2 Prácticas de Redes de Computadores 2. Cómo establecer conexión con un servidor La clase java.net.socket es la clase Java fundamental para realizar operaciones TCP desde el extremo cliente. A partir de aquí nos referiremos a ella como clase Socket. Esta clase posee varios constructores que permiten especificar el host destino y el número de puerto al que queremos conectarnos. El host puede especificarse como un objeto InetAddress (que corresponde a una dirección IP) o como un String. El número de puerto siempre se indica como un valor int que puede variar desde el 1 al Empezaremos probando el costructor más sencillo: public Socket (String host, int puerto) throws IOException, UnknownHostException Este constructor crea un socket TCP e intenta conectarlo al host y puerto remotos especificados como parámetros. Si el servidor DNS no está en funcionamiento o no puede resolver el nombre, el constructor lanzará una excepción UnknownHostException. Si el nombre se resuelve pero el socket no puede conectar por alguna otra razón, se lanzará una excepción IOException. Esto puede deberse, entre otras razones, a que el puerto destino en el servidor no esté abierto, existan problemas de encaminamiento en la red para alcanzar el destino o simplemente el servidor especificado esté apagado. Ejercicio 1: Escribe un programa en java, ClienteTCP1.java, que sea capaz de aceptar dos parámetros de entrada en línea de órdenes para establecer una conexión: el nombre de un servidor y un número de puerto al que conectar en ese servidor. El programa debe visualizar un mensaje por pantalla indicando si la conexión se ha establecido o no. En caso de éxito debe mostrar también el número de puerto y el nombre del servidor con el que ha conectado, y en caso de fallo indicar el motivo: Nombre de servidor desconocido o No es posible realizar conexión, dependiendo el tipo de excepción ocurrida (ver notas en página siguiente). Prueba tu programa con los siguientes servidores y puertos, comprobando lo que sucede: 1. mail.redes.upv.es herodes.redes.upv.es zoltar.redes.upv.es 25
3 Introducción a los sockets en Java P3-3 Ejercicio 1 (NOTAS): Para facilitar la depuración, el programa debe comprobar si hay parámetros de entrada y, si no se han suministrado, intentar conectarse al puerto 25 del servidor zoltar.redes.upv.es. Por otra parte, recuerda que los parámetros de entrada en Java son de tipo String y dado que el puerto en el constructor Socket es un int, es necesario realizar una conversión de tipo. De este modo, si args[1] es el parámetro correspondiente al puerto, la conversión puede hacerse, por ejemplo, como: int puerto = Integer.parseInt(args[1]). Otra opción para crear el socket es pasarle como parámetro la dirección IP mediante un objeto InetAddress, en lugar del nombre de dominio del servidor. En este caso se podría generar una excepción IOException si no se puede conectar pero no una UnknownHostException. Ahora la consulta al DNS se lleva a cabo al crear el objeto InetAddress y es, en este momento, cuando pueden surgir los problemas relacionados con la traducción nombre-dirección IP. La clase Inet- Address posee varios métodos estáticos que permiten crear objetos Inet- Address inicializados de forma adecuada. El más popular es: public static InetAddress InetAddress.getByName(String HostName) que se utiliza de la forma: InetAddress dirip = InetAddress.getByName( ) Si se van a abrir varias conexiones al mismo host (como haremos en el último apartado de la práctica) es más eficiente emplear este constructor, para resolver únicamente una vez la dirección IP a la que se desea conectar e indicarla directamente en el constructor Socket. Ejercicio 2: Copia el ClienteTCP1.java a ClienteTCP2.java. Modifícalo para que traduzca el nombre del host antes de crear el socket. Comprueba que funciona de forma equivalente. 3. Cómo obtener información sobre la conexión establecida La clase Socket dispone de varios métodos que permiten obtener información sobre la conexión establecida entre el cliente y el servidor.
4 P3-4 Prácticas de Redes de Computadores Entre ellos podemos citar getlocaladdress() y getinetaddress(), que devuelven las direcciones IP local y remota, respectivamente, y getlocalport() y getport(), que devuelven los puertos local y remoto, respectivamente. A continuación se detallan brevemente los métodos mencionados. Puedes consultar más información sobre ellos en la web de Sun, que se cita al inicio de la práctica public int getport(): devuelve el puerto remoto al que el socket está conectado. public InetAddress getinetaddress(): devuelve la dirección IP remota a la que el socket está conectado. public int getlocalport(): devuelve el puerto local al que el socket está ligado. public InetAddress getlocaladdress(): Devuelve la dirección IP local a la que el socket está ligado. Ejercicio 3: Modifica el cliente ClienteTCP2.java del ejercicio anterior para que muestre información en la pantalla del cliente sobre la conexión que establece (direcciones IP y números de puerto locales y remotos). Ejecútalo cuatro veces seguidas, conectándote con el servidor del laboratorio zoltar.redes.upv.es en el puerto 25 y comprueba qué valores se modifican. Interpreta el resultado obtenido. 4. Cómo leer los datos que se reciben a través de la conexión Para leer los datos que se van recibiendo a través del socket utilizaremos el método getinputstream de la clase Socket. Este método devuelve un objeto del tipo InputStream (flujo de octetos de entrada), lo que se ajusta bien a la filosofía TCP de transmisión orientada a flujo continuo de datos, pero no resulta cómodo para leer los mensajes del servidor. Lo que nos conviene, para facilitar nuestro trabajo, es un método que proporcione un flujo de caracteres y, a ser posible, en líneas de texto completas. La clase InputStreamReader es un puente desde los flujos de bytes a los de caracteres: lee octetos y los codifica en caracteres empleando un código de caracteres determinado. Adicionalmente, para mejorar la eficiencia en la conversión pueden leerse varios octetos en cada operación
5 Introducción a los sockets en Java P3-5 de lectura anidando esta clase dentro de una BufferedReader. Por ejemplo, de la forma siguiente: BufferedReader lee = new BufferedReader(new InputStreamReader(s.getInputStream())); siendo s el objeto de la clase Socket definido previamente. Cuando un programa lee de un BufferedReader, el texto se extrae de un buffer en lugar de acceder al flujo de entrada directamente. Cuando el buffer se vacía, vuelve a llenarse con tanto texto como sea posible, incluso aunque no todo sea aún necesario. Esto hará que las futuras lecturas se lleven a cabo más rápidamente. En nuestro caso, empleando el método readline de la clase BufferedReader podremos leer las respuestas del servidor como líneas completas de texto. Este método lee una línea de texto y la devuelve como un String. public String readline() throws IOException Ejercicio 4: Renombra el cliente ClienteTCP2.java del ejercicio anterior como ClienteSMTP.java. Modíficalo para que se conecte siempre al puerto 25 y muestre la primera línea de texto que recibe del servidor. 5. Cómo enviar datos a través de la conexión Para escribir a través de un socket también es más eficiente utilizar una clase que proporcione cierta capacidad de almacenamiento (buffering). Por este motivo, para escribir a través del socket, utilizaremos un objeto de la clase java.io.printwriter conectado al flujo de salida del socket. Este objeto proporciona la capacidad de almacenamiento deseada. Además, esta clase permite manejar adecuadamente conjuntos de caracteres y texto internacional. Uno de sus constructores (el que utilizaremos habitualmente) es: public PrintWriter(OutputStream out, boolean autoflush) que además posee una ventaja importante como comprobaremos a continuación. Para ello el segundo parámetro del constructor debe invocarse con el valor true.
6 P3-6 Prácticas de Redes de Computadores 6. Vaciado del buffer TCP (flush) Aunque las ventajas de emplear para la escritura una clase con almacenamiento son claras, también puede plantear algunos inconvenientes si uno no es cuidadoso, como vamos a ver en el ejercicio siguiente. Ejercicio 5: Copia el programa ClienteSMTP.java y renómbralo como ClienteSMTPej5.java. Añade, al final de tu programa, el código siguiente: PrintWriter esc = new PrintWriter (s.getoutputstream()); salida.print("ehlo redesxx.redes.upv.es\r\n"); System.out.println( lectura 2: + lee.readline()); s.close(); NOTA: Se ha supuesto que el objeto BufferedReader definido en el ejercicio anterior se llama lee y el objeto Socket se llama s. Ejecútalo para que se conecte al puerto 25 de zoltar.redes.upv.es. Qué es lo que ocurre? Aparece la segunda respuesta del servidor en tu pantalla? (Lo normal será que no aparezca nada). Este cliente SMTP debería enviar un mensaje correcto al servidor SMTP de zoltar y recibir su respuesta, pero no recibe nada. Por qué? Porque él tampoco le envía nada. Para mejorar la eficiencia, el stream de salida intenta llenar su buffer tanto como sea posible antes de enviar los datos, pero como el cliente no tiene más datos que enviar (de momento) su petición no llega a enviarse nunca. La solución a este problema la da el método flush() de la clase PrintWriter. Este método fuerza a que se envíen los datos aunque el buffer no esté aún lleno. En caso de duda acerca de si resulta o no necesario utilizarlo, es mejor invocarlo, ya que realizar un flush innecesario consume pocos recursos, pero no utilizarlo cuando se necesita puede provocar bloqueos en el programa. Ejercicio 6: Modifica el cliente SMTP para que utilice el método flush y comprueba que ahora funciona correctamente.
7 Introducción a los sockets en Java P3-7 Podemos realizar el vaciado del buffer de forma automática al escribir en éste (sin tener que emplear el método flush explícitamente). Para ello necesitamos dos cosas: El constructor de la clase PrintWriter debe emplearse tal y como se ha mostrado antes, con un segundo parámetro adicional a true. La escritura debe realizarse mediante el método println(), en lugar del método print. Además el método println añade el final de línea con lo que no necesitamos escribirlo como parte de la orden que envía el cliente (a diferencia de lo que hemos hecho en el programa anterior). Vamos a modificar nuestro cliente para comprobar este funcionamiento. Ejercicio 7: Modifica el cliente SMTP para que utilice el método println en lugar del print (elimina lo que sobra, como la secuencia \r\n y el flush). Comprueba que funciona volviendo a establecer conexión con el servidor zoltar en el puerto 25. NOTA: Hay que tener en cuenta que cuando usamos el método println, lo que se envía como final de línea es \n. El estándar especifica que debe enviarse \r\n. No obstante, como podéis haber comprobado al usar println, el programa funciona correctamente. Esto es debido a la generosidad del servidor, que contesta a la petición a pesar de que no se ajusta completamente al estándar. Podemos ajustarnos fácilmente al estándar definiendo los finales de línea como \r\n con la sentencia System.setProperty ( line.separador, \r\n ); 7. Cierre de la conexión Las conexiones se cierran mediante el método close() de la clase Socket. Una vez que un socket se ha cerrado, ya no está disponible para volverlo a utilizar (por ejemplo, no puede ser reconectado). En caso necesario, hay que volver a crear un nuevo socket. Si este socket tenía un flujo asociado, el flujo se cierra también.
8 P3-8 Prácticas de Redes de Computadores 8. Explorador de puertos Está seguro nuestro ordenador? Es fácil entrar en él de forma no autorizada desde otro ordenador? Responder a esta pregunta es complicado. En general, sabemos que para entrar en nuestro ordenador desde otro equipo es necesario que en alguno de los puertos de nuestro ordenador haya un servidor escuchando. En el caso más extremo, si todos los puertos de nuestro ordenador están cerrados, tenemos la seguridad de que no vamos a aceptar datos que provengan de la red, por lo que evitamos la entrada no deseada de intrusos. Cerrar todos los puertos del ordenador puede no ser una buena idea, pues seguramente algunos de los servicios que usamos habitualmente (y de los cuales incluso no somos conscientes) dejarán de funcionar, con la correspondiente molestia. Una política más acertada es mantener abiertos únicamente los puertos que necesitamos y cerrar el resto. No obstante, a menudo el sistema operativo se configura con determinadas opciones por defecto, dejando abiertos algunos puertos que seguramente no deseamos que estén abiertos. En otros casos, es posible que un intruso haya abierto un puerto en nuestro ordenador y haya dejado en él un servidor, del cual no tenemos conocimiento. La mejor manera de saber qué puertos están abiertos en nuestro ordenador es usar un explorador de puertos. Realizar esta tarea en TCP es muy sencillo. Basta con recorrer los puertos de nuestro ordenador intentando conectarnos a ellos. Si un puerto nos permite conectarnos, significa que hay un servidor escuchando en él. Si rechaza la conexión, entonces el puerto está cerrado. En el caso de UDP, hacer la exploración no es tan sencilla, pues al ser un servicio sin conexión, si no recibimos contestación, nunca vamos a tener la seguridad de qué es lo que ha pasado con nuestro mensaje. Para crear el explorador de puertos nos vamos a valer de la clase Socket, que ya hemos empleado en los ejercicios anteriores. Como hemos visto, su constructor puede lanzar dos excepciones diferentes: UnknownHostException, que se genera cuando el nombre del ordenador con el que queremos crear la conexión no puede ser resuelto a una dirección IP. IOException, que se genera cuando no se puede establecer la conexión por cualquier otro motivo, como por ejemplo que no haya un
9 Introducción a los sockets en Java P3-9 servidor escuchando en el puerto especificado en los parámetros de Socket. Utilizaremos esta segunda excepción para crear el explorador de puertos, de manera que si mientras barremos los puertos de nuestro equipo se genera esta excepción, sabremos que el puerto está cerrado. Si no se genera, entonces es que hay un servidor en ese puerto. Como lo habitual es que la mayoría de los puertos se encuentren cerrados, nuestro explorador debe mostrar por pantalla un mensaje únicamente si el puerto está abierto. En caso contrario, suelen salir tantos mensajes que resulta difícil averiguar todos los puertos abiertos. Ejercicio 8: Teclea y completa el siguiente explorador de puertos. Ejecútalo. Qué puertos hay abiertos? A qué servicios corresponden esos puertos? (en /etc/services hay un listado detallado de los servicios ordenados por número de puerto). import java.net.*; import java.io.*; public class LowPortScanner { public static void main(string[] args) { String host = "localhost"; for (int puerto = 1; puerto < 1024; puerto ++) { try { // COMPLETAR CÓDIGO } catch (UnknownHostException e) { // COMPLETAR CÓDIGO } catch (IOException e) { // COMPLETAR CÓDIGO } } // end for } // end main } // end PortScanner Ejercicio 9: Elimina de tu ordenador todos los ficheros que has creado durante el desarrollo de esta práctica.
Sockets. Los sockets son un mecanismo de comunicación entre procesos que se utiliza en Internet.
Sockets La biblioteca estándar de clases de Java nos proporciona todo lo que necesitamos para utilizar sockets en nuestras aplicaciones en el paquete java.net, por lo que tendremos que añadir la siguiente
Arquitecturas cliente/servidor
Arquitecturas cliente/servidor Creación de Sockets Cliente Servidor Creación de Sockets Cliente/Servidor Sockets en TCP Sockets en UDP Definición de DAEMON Concepto de Hilos Qué es un socket? Un socket
Federico Peinado www.federicopeinado.es
Federico Peinado www.federicopeinado.es Depto. de Ingeniería del Software e Inteligencia Artificial disia.fdi.ucm.es Facultad de Informática www.fdi.ucm.es Universidad Complutense de Madrid www.ucm.es
Capítulo 5. Programación de aplicaciones de red
Capítulo 5. Programación de aplicaciones de red Redes de Ordenadores 2º Grado en Ingeniería en Tecnologías de Telecomunicación 1 Área de Ingeniería Telemática Capítulo 5: Programación de aplicaciones de
1. Cuántas sentencias hay en la secuencia principal del siguiente programa?
1. Cuántas sentencias hay en la secuencia principal del siguiente programa? public class PruebaSwitch { System.out.print ("Opcion: "); case 3: System.out.println ("miércoles "); A. 1. B. 4. C. Más de 10.
Unidad II. Fundamentos de programación en Java. Ing. José Luis Llamas Cárdenas
Unidad II Fundamentos de programación en Java Ing. José Luis Llamas Cárdenas En java para poder escribir se emplea el objeto System.out, t pero para leer del teclado es necesario emplear System.in Et Este
1.- FUNDAMENTOS...2 2.- FUNCIONAMIENTO GENÉRICO...3 3.- JAVA SOCKETS... 4. 3.4.1.- Creación de Streams de Entrada...7
1.- FUNDAMENTOS...2 2.- FUNCIONAMIENTO GENÉRICO...3 3.- JAVA SOCKETS... 4 3.1.- INTRODUCCION... 4 3.2.- MODELO DE COMUNICACIONES CON JAVA...5 3.3.- APERTURA DE SOCKETS... 6 3.4.- CREACIÓN DE STREAMS...
Instrucciones de configuración del acceso remoto (VPN) de la UCLM para Windows, Mac y Linux
Instrucciones de configuración del acceso remoto (VPN) de la UCLM para Windows, Mac y Linux Referencia -- Fecha 14/03/2016 Autores Área TIC Destinatarios Estudiantes, PDI y PAS de la UCLM Descripción Este
Flujos (streams) Programación. Licenciatura Lingüística y Nuevas Tecnologias Nadjet Bouayad-Agha
Flujos (streams) Programación Nadjet Bouayad-Agha Licenciatura Lingüística y Nuevas Tecnologias 2007 Agenda Java e argumentos de entrada: args.zip Como leer e escribir datos de/a los flujos estándares.
UNIVERSIDAD CARLOS III DE MADRID DEPARTAMENTO DE INGENIERÍA TELEMÁTICA. Daniel Díaz Sánchez
UNIVERSIDAD CARLOS III DE MADRID DEPARTAMENTO DE INGENIERÍA TELEMÁTICA Sockets para servidor Daniel Díaz Sánchez Florina Almenárez Andrés Marín Departamento de Ingeniería Telemática Universidad Carlos
Práctica III: Streams, Readers y Writers
Práctica III: Streams, Readers y Writers Objetivos En esta práctica vamos a aprender a utilizar Streams, Readers y Writers para realizar operaciones de entrada/salida desde programas escritos en el lenguaje
Guía - Taller # 2 (JAVA)
CEET - Distrito Capital Programa de Formación: ADSI 150752 TRIMESTRE VI Conocimiento de Conocimiento: Aplicar diversos estilos de Programación usando herramientas para Desarrollo Web Instructor: Ing. Espec.
1 SOCKETS EN JAVA. Sistemas Distribuidos::Sockets en Java EUI-SG/INFOR.UVA.ES 1
1 SOCKETS EN JAVA La programación en red siempre ha sido dificultosa, el programador debía de conocer la mayoría de los detalles de la red, incluyendo el hardware utilizado, los distintos niveles en que
UNIVERSIDADE DA CORUÑA Departamento de Tecnoloxías da Información e as Comunicacións LABORATORIO DE RC: TUTORIAL DE SOCKETS EN JAVA
UNIVERSIDADE DA CORUÑA Departamento de Tecnoloxías da Información e as Comunicacións LABORATORIO DE RC: TUTORIAL DE SOCKETS EN JAVA Índice 1. Presentación...3 2. Conceptos básicos...4 2.1. TCP...4 2.2.
Examen de Redes - ETSIA 9 de septiembre - Primer Parcial
Apellidos, Nombre: Grupo: Examen de Redes - ETSIA 9 de septiembre - Primer Parcial AUTORIZO a los profesores de la asignatura Redes de 2º curso de la ETSIA a publicar las calificaciones de los exámenes
EJEMPLOS PROGRAMACIÓN SOCKET - JAVA
EJEMPLOS PROGRAMACIÓN SOCKET - JAVA 1.- Calcular el Cuadrado TCP En esta aplicación el cliente se conecta al servidor, para ello debe introducir la dirección IP del servidor y los parámetros sobre los
Sockets en Java. Prof. Wílmer Pereira Universidad Simón Bolívar
Sockets en Java Prof. Wílmer Pereira Universidad Simón Bolívar Arquitectura Cliente/Servidor Cliente Request Reply Servidor Cómo permitir comunicación entre objetos situados en diferentes máquinas? Sockets
Sockets. Sockets. 1 Introducción
1 Introducción Los URL y las conexiones URL (URLConnection) proporcionan un mecanismo de un nivel relativamente alto (nivel 7 del modelo OSI) para acceder a los recursos de Internet. Algunas veces, los
PROGRAMACIÓN CLIENTE-SERVIDOR MEDIANTE SOCKETS EN JAVA
PROGRAMACIÓN CLIENTE-SERVIDOR MEDIANTE SOCKETS EN JAVA Qué es la arquitectura cliente servidor? La arquitectura cliente-servidor es un modelo de aplicación distribuida en el que las tareas se reparten
Tema: Introducción al IDE de Microsoft Visual C#.
Tema: Introducción al IDE de Microsoft Visual C#. Objetivos: El propósito de este tema es que el alumno se familiarice con el entorno de desarrollo de Visual C# Express mientras crea el formulario más
UNIVERSIDAD POLITÉCNICA DE PACHUCA SOCKETS EN JAVA
SOCKETS EN JAVA Los sockets son puntos finales de enlaces de comunicaciones entre procesos. Los procesos los tratan como descriptores de ficheros, de forma que se pueden intercambiar datos con otros procesos
TEMA 7: Ficheros. TEMA 7: Ficheros. 7.1.-Concepto de fichero
TEMA 7: Ficheros 7.1.-Concepto de fichero Todas las estructuras de datos que hemos visto hasta ahora utilizan memoria principal. Esto tiene dos limitaciones importantes: 1. Los datos desaparecen cuando
Tema 4. Excepciones en Java
Programación en Java Tema 4. Excepciones en Java Luis Rodríguez Baena Facultad de Informática Excepciones (I) Permiten la captura de errores en tiempo de ejecución. El control de excepciones permite extraer
CLASE SOCKET. 1. Crear un nuevo socket usando un constructor de la clase. 2. El socket trata de conectarse al host remoto.
CLASE SOCKET 1. Crear un nuevo socket usando un constructor de la clase. 2. El socket trata de conectarse al host remoto. 3. Una vez establecida la conexión, tanto el host local como el remoto obtienen
Práctica 5: Servidor web concurrente en Java
Práctica 5: Servidor web concurrente en Java Esta práctica pretende familiarizar al alumno con la programación de servidores que emplean sockets TCP. Para ello partiremos del servidor web básico visto
LA ESTRUCTURA DE DATOS PILA EN JAVA. CLASE STACK DEL API JAVA. EJEMPLO Y EJERCICIOS RESUELTOS. (CU00923C)
APRENDERAPROGRAMAR.COM LA ESTRUCTURA DE DATOS PILA EN JAVA. CLASE STACK DEL API JAVA. EJEMPLO Y EJERCICIOS RESUELTOS. (CU00923C) Sección: Cursos Categoría: Lenguaje de programación Java nivel avanzado
Examen Final de Redes - ETSIA - 24 de junio de 2006
Apellidos, Nombre: Grupo de matrícula: Examen Final de Redes - ETSIA - 24 de junio de 2006 1. (0,5 puntos) Calcula el tiempo necesario para recibir la respuesta a una consulta DNS si el servidor de nombres
Comandos TCP-IP para Windows
Comandos TCP-IP para Windows Junio 2014 A veces es necesario conocer los comandos IP, para analizar e incluso configurar nuestra red TCP/IP. A continuación una lista de comandos a utilizar en una ventana
Java desde Consola Utilizando Java sin Path
1 Utilizando Java sin Path Una vez hayamos instalado el JDK (Java Development Kit) ya estamos en capacidad de crear y hacer funcionar algunos códigos sencillos. Para esto utilizaremos como entorno de programación
Lab 01: Programación de Sockets en TCP
UNIVERSIDAD NACIONAL DE SAN ANTONIO ABAD DEL CUSCO Departamento Académico de Informática REDES Y TELECOMUNICACIONES 2 Lab 01: Programación de Sockets en TCP Ingº Manuel Peñaloza Figueroa Dime y lo olvidaré.
Ficheros y streams. Desde el punto de vista de Java, cada fichero no es más que una secuencia o flujo de bytes [stream].
Ficheros y streams Desde el punto de vista de Java, cada fichero no es más que una secuencia o flujo de bytes [stream]. Los streams pueden ser de entrada () de salida (). Los ficheros pueden almacenar
Desarrollo de Aplicativos con winsockets
Seminario de Redes de Computadoras 66.48 Desarrollo de Aplicativos con winsockets Docentes: Ing. Marcelo Utard Ing. Pablo Ronco Alumnos: Baños, Germán Gámez, Pablo Rabino, Juan Pablo Salas, Federico Introducción
Sockets en Java. La Creatividad proviene de un conflicto de ideas. Uso de Sockets
Uso de Sockets Este pequeño manual, le muestra cómo funciona el Socket Server para crear un pequeño servidor web que envía una página HTML a cualquier Navegador Web como Firefox, Internet Explorer, etc..
Carlos Montenegro. Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas
2 - Introducción al lenguaje Java, identificadores y comentarios. Carlos Montenegro Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas 1. Introducción: Java tiene como todos
FACULTAD DE INGENIERÍA
NOMBRE DEL PROFESOR: Ing. Héctor Manuel Quej Cosgaya NOMBRE DE LA PRÁCTICA: Estructuras de decisión PRÁCTICA NÚM. [ 5 ] LABORATORIO: MATERIA: UNIDAD: TIEMPO: Centro de Ingeniería Computacional Lenguaje
configuración de tu equipo. Rellena la siguiente tabla y contesta a las siguientes preguntas:
1) Abre la consola de MS-DOS y teclea el comando ipconfig/all para consultar la configuración de tu equipo. Rellena la siguiente tabla y contesta a las siguientes preguntas: ADAPTADOR ETHERNET CONEXIÓN
Aspectos Básicos de Networking
Aspectos Básicos de Networking ASPECTOS BÁSICOS DE NETWORKING 1 Sesión No. 4 Nombre: Capa de transporte del modelo OSI Contextualización Existen diferencias en los servicios de protocolos? Los protocolos
Las clases Java Socket y ServerSocket
Las clases Java Socket y ServerSocket Lenguajes y Herramientas de Programación Universidad de La Laguna Programa de Doctorado de Física e Informática Escuela Técnica Superior Superior de Ingeniería Informática
QUE SON Y PARA QUE SIRVEN LAS DIRECCIONES IP, LA MASCARA DE SUBRED, LA PUERTA DE ENLACE Y LAS DNS.
QUE SON Y PARA QUE SIRVEN LAS DIRECCIONES IP, LA MASCARA DE SUBRED, LA PUERTA DE ENLACE Y LAS DNS. Vamos a explicar qué son las direcciones IP, la máscara de subred, las DNS y la Puerta de enlace. En primer
Objetivos de la sesión. Aplicación de consola 7/30/11. Código con que se inicia un programa en Visual C# (aplicación de consola)
Objetivos de la sesión Entender el tipo de programas que se pueden realizar con aplicaciones de consola. Conocer el concepto de variable, la forma en que se declaran y su utilización. Conocer la forma
Direcciones IP y puertos
Redes en Java HTTP, Telnet, FTP, SMTP, SNMP, etc (Aplicaciones usuario) TCP/IP TCP UDP IP Acceso a la red TCP: Transmission Control Protocol UDP: User Datagram Protocol IP: Internet Protocol TCP Protocolo
Test : Conteste exclusivamente en una HOJA DE LECTURA ÓPTICA, no olvidando marcar que su tipo de examen es A.
SISTEMAS INFORMÁTICOS I Junio 2003 INGENIERÍA EN INFORMÁTICA - Código Carrera 55 - Código Asignatura 077 Tipo de Examen: A NO SE PERMITE EL USO DE NINGÚN MATERIAL Tiempo: 2 horas Apellidos: Nombre: DNI:
Universidad de Cantabria [email protected]
Networking Pedro Corcuera Dpto. Matemática Aplicada y Ciencias de la Computación Universidad de Cantabria [email protected] Objetivos Aprender los conceptos básicos de redes y su implementación en Java
Redes de Ordenadores
Universidad Pública Navarra de Grupo de Redes, Sistemas y Servicios Telemáticos Redes de Ordenadores Práctica 3: PC s en redes de área local. Ethernet Fecha: 28 de Octubre de 2005 Práctica 3: PC s en redes
Manual de Instrucciones para el uso con un ordenador
Tablero electrónico Portátil de Escritura Manual de Instrucciones para el uso con un ordenador Nota: es necesario el uso de un ordenador personal con sistema operativo Microsoft Windows y un puerto de
Unidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones
Unidad Didáctica 2 Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión 1.0.3 Índice
Desde los programas más simples escritos en un lenguaje de programación suelen realizar tres tareas en forma secuencial.
Tipos de Datos Desde los programas más simples escritos en un lenguaje de programación suelen realizar tres tareas en forma secuencial. Entrada de datos Procesamientos de datos Salida de resultados Los
Equipamiento ADSL» Inalámbrico. Adaptador USB PAUTAS PARA LA VERIFICACION TCP/IP
Equipamiento ADSL» Inalámbrico Adaptador USB PAUTAS PARA LA VERIFICACION TCP/IP PAUTAS PARA LA VERIFICACIÓN TCP/IP Este documento describe cómo preparar su PC para su conexión a una red inalámbrica después
Introducción a Windows 98
CCEEA - Introducción a la Computación Página 1 de 6 Introducción a Windows 98 Trabajaremos con Windows 98, el sistema operativo instalado en las computadoras del Laboratorio. Se basa en la idea del uso
Aplicación para el Registro de Piscinas de Salud Pública del Servicio Canario de la Salud. Manual de Usuario 1.7
Aplicación para el Registro de Piscinas de Salud Pública del Servicio Canario de la Salud. Manual de Usuario 1.7 Índice 1. Introducción... 3 2. Cómo acceder a la aplicación?... 4 3. Cómo trabajar con la
Programación Orientada a Objetos. Java: Excepciones
Programación Orientada a Objetos Java: Excepciones Eduardo Mosqueira Rey Laboratorio de Investigación y desarrollo en Inteligencia Artificial Departamento de Computación Universidade da Coruña, España
Programación para redes con Java
Programación para redes con Java Jorge Eduardo Ibarra Esquer Programación para redes Clases en java.net Protocolos Sockets Datagramas Aplicaciones cliente-servidor 1 Programación para redes Java presenta
Soluciones inalámbricas. Guía rápida para configurar un enlace con equipos ENS500 en modo WDS Bridge
Soluciones inalámbricas Guía rápida para configurar un enlace con equipos ENS500 en modo WDS Bridge Introduccíon Un enlace está formado por al menos 2 unidades ENS500. En este documento se explica como
Clases Java para comunicaciones en red
Clases Java para comunicaciones en red Lenguajes y Herramientas de Programación Universidad de La Laguna Programa de Doctorado de Física e Informática Escuela Técnica Superior Superior de Ingeniería Informática
Programación Orientada a Objetos. Tema 7: Persistencia
Programación Orientada a Objetos Tema 7: Persistencia Tema 7: Persistencia Contenidos 1. LIBRERÍA I/O 2. FICHEROS 3. FICHEROS DE ACCESO DIRECTO 4. FICHEROS DE TEXTO 5. SERIALIZACIÓN DE OBJETOS 6. EJEMPLO
5. Sentencias selectivas o condicionales
60 A. García-Beltrán y J.M. Arranz 5. Sentencias selectivas o condicionales Objetivos: a) Describir el funcionamiento de las sentencias selectivas o condicionales (if-else y switch) b) Interpretar el resultado
Java: comunicación en Internet. Modem. Satelite UMTS W-LAN. Láser. Fibra óptica. Conceptos básicos
Conceptos básicos Los computadores conectados a Internet se comunican entre ellos usando protocolos: Java: comunicación en Internet Franco Guidi Polanco Escuela de Ingeniería Industrial Pontificia Universidad
Práctica 5MODBUS: Bus Modbus
Práctica 5MODBUS: Bus Modbus 1 Objetivos El objetivo de esta práctica es la utilización y la programación de una red Modbus. El alumno debe ser capaz de: Diferenciar los tres niveles fundamentales de la
Información de la lectura en un programa.
I/O Cualquier programa realizado en Java que necesite llevar a cabo una operación de I/O lo hará a través de un stream. Un stream, cuya traducción literal es "flujo", es una abstracción de todo aquello
ESCUELA POLITÉCNICA SUPERIOR PRÁCTICA 2: EXPRESIONES, PRINTF Y SCANF
ESCUELA POLITÉCNICA SUPERIOR GRADO EN DISEÑO IND. INFORMÁTICA CURSO 2012-13 PRÁCTICA 2: EXPRESIONES, PRINTF Y SCANF HASTA AHORA... En prácticas anteriores se ha aprendido: La estructura principal de un
4.2 Servicio de exploración de E/S
4.2 Servicio de exploración de E/S Acerca de esta sección En esta sección se presentan algunas funciones, características y opciones de configuración del servicio de exploración de E/S. Contenido de esta
Práctica 2: Java Remote Method Invocation (RMI)
Práctica 2: Java Remote Method Invocation (RMI) Aplicaciones Telemáticas II Introducción El objetivo de esta práctica es conocer un poco más sobre el paradigma de objetos remotos. La idea principal es
FUNCIONES PHP: DECLARACIÓN Y LLAMADAS. PARÁMETROS, RETURN. EJERCICIOS EJEMPLOS RESUELTOS. (CU00827B)
APRENDERAPROGRAMARCOM FUNCIONES PHP: DECLARACIÓN Y LLAMADAS PARÁMETROS, RETURN EJERCICIOS EJEMPLOS RESUELTOS (CU00827B) Sección: Cursos Categoría: Tutorial básico del programador web: PHP desde cero Fecha
Tema 7.- Fundamentos de la Programación Orientada a Objetos
Tema 7.- Fundamentos de la Programación Orientada a Objetos 7 de enero de 2014 Objetivos Saber definir clases propias. Saber crear objetos de una clase determinada e interactuar con ellos (Problema 1).
COMO CREAR UNA RED LOCAL ENTRE EQUIPOS CON WINDOWS
COMO CREAR UNA RED LOCAL ENTRE EQUIPOS CON WINDOWS XP Y VISTA: Explicación con direcciones estáticas y dinámicas. 1. RED CON DIRECCIONES DINAMICAS: La primera explicación la realizaré para XP. Lo primero
COMUNICACIÓN ENTRE EL CLIENTE Y SERVIDOR SIN PHP Y CON PHP. INTÉRPRETE PHP Y GESTOR DE BASES DE DATOS (CU00804B)
APRENDERAPROGRAMAR.COM COMUNICACIÓN ENTRE EL CLIENTE Y SERVIDOR SIN PHP Y CON PHP. INTÉRPRETE PHP Y GESTOR DE BASES DE DATOS (CU00804B) Sección: Cursos Categoría: Tutorial básico del programador web: PHP
TARJETAS: POS INTEGRADO
TARJETAS: POS INTEGRADO El módulo TESORERÍA contempla tres modalidades de trabajo con respecto a las tarjetas de crédito/débito: POS integrado: bajo esta modalidad se evita el ingreso manual de datos tanto
Sistemas Operativos: Programación de Sistemas. Curso Oscar Déniz Suárez Alexis Quesada Arencibia Francisco J.
Tema 5 : Comunicación entre Procesos mediante Tuberías Sistemas Operativos: Programación de Sistemas Oscar Déniz Suárez Alexis Quesada Arencibia Francisco J. Santana Pérez Curso 2006-07 Introducción Algunas
INSTITUTO ELECTORAL DEL ESTADO DE MÉXICO SECRETARÍA EJECUTIVA UNIDAD DE INFORMÁTICA Y ESTADÍSTICA
INSTITUTO ELECTORAL DEL ESTADO DE MÉXICO SECRETARÍA EJECUTIVA UNIDAD DE INFORMÁTICA Y ESTADÍSTICA Guía de uso del Correo Electrónico Institucional Outlook Web App. Noviembre de 2014 Correo Electrónico
Práctica 5: Implementación en C++ de sistemas cliente/servidor basados en comunicación
Práctica 5: Implementación en C++ de sistemas cliente/servidor basados en comunicación síncrona Programación de Sistemas Concurrentes y Distribuidos Grado de Ingeniería Informática Dpto. de Informática
Introducción. Word Autor: Viviana M. Lloret Prof. de Matemática e Informática Blog: aulamatic.blogspot.com
Introducción Word 2003 Autor: Viviana M. Lloret Prof. de Matemática e Informática Blog: aulamatic.blogspot.com Procesador de Textos Un procesador de texto es un software informático utilizado para la creación
Práctica 4: Java Remote Method Invocation (RMI)
Práctica 4: Java Remote Method Invocation (RMI) Aplicaciones Telemáticas II Introducción Hasta el momento hemos visto aplicaciones remotas donde un cliente utiliza un objeto remoto que ha sido publicado
Introduciendo datos desde el
Introduciendo datos desde el teclado Pedro Corcuera Dpto. Matemática Aplicada y Ciencias de la Computación Universidad de Cantabria [email protected] Objetivos Crear programas interactivos que lean datos
Crear documentos de texto en Google Docs. Avanzado
Crear documentos de texto en Google Docs. Avanzado En un tutorial anterior mostramos las opciones básicas de Google Docs, las que aparecían en la barra de herramientas y además del menú tabla. Ahora vamos
Arrays unidimensionales. Dim.Option Base. Erase. Ejemplos en Visual Basic (CU00311A)
aprenderaprogramar.com Arrays unidimensionales. Dim.Option Base. Erase. Ejemplos en Visual Basic (CU00311A) Sección: Cursos Categoría: Curso Visual Basic Nivel I Fecha revisión: 2029 Autor: Mario R. Rancel
Entrada y Salida con Java
Entrada y Salida con Java Programación Orientada a Objetos Facultad de Informática Dep. Ingeniería del Software e Inteligencia Artificial Universidad Complutense Madrid E/S con flujos (streams) En Java
Redes de Computadores - Problemas y cuestiones
Redes de Computadores - Problemas y cuestiones Cuestiones: ARP y direcciones IP 1. Convierte la dirección IP cuya representación hexadecimal es C22F1582 a notación decimal con puntos. 2. Interpreta las
Funciones básicas del depurador
Funciones básicas del depurador Con frecuencia, los alumnos piensan que cuando su programa no tiene errores de compilación (está correctamente escrito) entonces ya es correcto. Muchas veces esto no es
QUÉ ES UNA CLASE JAVA? ATRIBUTOS (PROPIEDADES O CAMPOS), CONSTRUCTOR Y MÉTODOS. (CU00623B)
APRENDERAPROGRAMAR.COM QUÉ ES UNA CLASE JAVA? ATRIBUTOS (PROPIEDADES O CAMPOS), CONSTRUCTOR Y MÉTODOS. (CU00623B) Sección: Cursos Categoría: Curso Aprender programación Java desde cero Fecha revisión:
COMO CAMBIAR CONTRASEÑA A MIS
COMO CAMBIAR CONTRASEÑA A MIS CUENTAS DE CORREO DESDE CPANEL 1.- Accesar a cpanel 2.- Una vez dentro buscaremos la opcion cuentas de correo y daremos clic 3.- En esta parte vamos a dar clic en cambiar
Tipos DataInputStream/DataOutputStream: L/E de datos de tipo simple y Cadenas (Strings) ObjectInputStream/ObjectOutputStream: para persistencia de obj
Programación Orientada a Objetos en JAVA Angela C. Carrillo Ramos Manejo de Streams Un Stream representa un flujo de datos, o un canal de comunicación con un escritor o un lector. Tipos: InputStream/OutputStream:
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA INFORMÁTICA UNIVERSIDAD DE SEVILLA COMPUTADORAS Y COMUNICACIONES. Redes informáticas de área local (LAN)
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA INFORMÁTICA UNIVERSIDAD DE SEVILLA COMPUTADORAS Y COMUNICACIONES Práctica 2: Redes informáticas de área local (LAN) 1.Objetivo El objetivo de esta práctica es conseguir
Práctica 4: Herencia. Objetivos:
Práctica 4: Herencia Objetivos: Como se implementa la herencia en Java (superclase - clase descendiente). Utilizar super. Redefinición de métodos Clase Object Clase System Clases abstractas 1. Herencia.
TEMA 1. Introducción a la programación. CONSIDERACIONES GENERALES.
TEMA 1 Introducción a la programación. CONSIDERACIONES GENERALES. EJERCICIOS AreaTriangulo Escriba un programa que calcule el área de un triángulo rectángulo dadas la altura y la base. El área de un triángulo
INTRODUCCION A LA PROGRAMACION EN JAVA
Departament d Arquitectura de Computadors INTRODUCCION A LA PROGRAMACION EN JAVA Índice Paso de parámetros en tiempo de ejecución Métodos static Atributos static Try-catch-finally Throws/throw 2 Paso de
HERRAMIENTAS BASICAS DE MANEJO DE WINDOWS
HERRAMIENTAS BASICAS DE MANEJO DE WINDOWS Tarea 1: Averiguar el espacio libre que tienes en el disco duro. Veamos como se emplea. 1. Lo primero que debes hacer es comprobar cuánto espacio libre me queda
Shell Script de instalación y configuración para el servicio DHCP en CentOS v5.x. Manual de instrucciones.
Shell Script de instalación y configuración para el servicio DHCP en CentOS v5.x Manual de instrucciones. Ing. Luis González Fraga 25/06/2012 En este manual usted podrá instalar y configurar en pocos minutos,
Programación Orientada a Objetos. Java: Excepciones
Programación Orientada a Objetos Java: Excepciones Eduardo Mosqueira Rey LIDIA Laboratorio de Investigación y desarrollo en Inteligencia Artificial Departamento de Computación Universidade da Coruña, España
En la parte inferior de la pantalla se podrá ver el estado de la última copia y la fecha y hora actual.
Guía de Usuario Esta Guía de Usuario del programa de Copias de Seguridad le ayudará a conocer el funcionamiento del programa para que pueda personalizar el salvado de sus documentos con gran facilidad.
FACULTAD DE INGENIERÍA
NOMBRE DEL PROFESOR: Ing. Héctor Manuel Quej Cosgaya NOMBRE DE LA PRÁCTICA: Variables y Tipos de Datos PRÁCTICA NÚM. [ 1 ] LABORATORIO: MATERIA: UNIDAD: TIEMPO: Centro de Ingeniería Computacional Lenguaje
Guía de Inicio Rápido
Wireless Outdoor Access Point / Client Bridge Guía de Inicio Rápido Punto de acceso inalámbrico y Cliente Bridge El EOC2611P es Punto de Acceso inalámbrico/cliente Bridge exterior de largo alcance que
INTERFACE COMPARATOR. DIFERENCIAS ENTRE COMPARATOR Y COMPARABLE. CLASE COLLECTIONS. EJERCICIOS RESUELTOS. (CU00918C)
APRENDERAPROGRAMAR.COM INTERFACE COMPARATOR. DIFERENCIAS ENTRE COMPARATOR Y COMPARABLE. CLASE COLLECTIONS. EJERCICIOS RESUELTOS. (CU00918C) Sección: Cursos Categoría: Lenguaje de programación Java nivel
Manual de usuario de cga-comparte-impresora-v4
Manual de usuario de cga-comparte-impresora-v4 CONSEJERÍA DE EDUCACIÓN Dirección General de Innovación Educativa Centro de Gestión Avanzado de Centros TIC Fecha: 20/01/09 Versión: 1 Autor: Centro de Gestión
Manual de instalación AUTOFIRMA LA SEDE ELECTRÓNICA XUNTA DE GALICIA GUÍAS DE AYUDA DE
GUÍAS DE AYUDA DE LA SEDE ELECTRÓNICA XUNTA DE GALICIA Manual de instalación AUTOFIRMA Páxina 2 de 17 Contenido 1. INTRODUCCIÓN... 3 2. REQUISITOS MÍNIMOS... 4 3. INSTALACIÓN... 5 3.1. Microsoft Windows...
IIC1103 Introducción a la Programación. Ayudantía: Archivos
Resumen teórico Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación IIC1103 Introducción a la Programación Ayudantía: Archivos Profesores: Daniel Langdon
Tutorial para saber cómo crear una cuenta de correo electrónico
Tutorial para saber cómo crear una cuenta de correo electrónico El correo electrónico (e-mail) ha cumplido ya más de 40 años desde que comenzó a usarse en los años 60. Hoy día es una de las formas de comunicación
Manual del padre de familia
Manual del padre de familia Contenido 1. Qué es el Programa ICT Starters?... 1 2. Requerimientos mínimos de hardware... 2 3. Requerimientos mínimos de software... 2 4. Cómo dar de alta a su hijo?... 3
Conceptos a tratar. Fundamentos de la Programación Orientada a Objetos Ampliación sobre clases y objetos
Fundamentos de la Programación Orientada a Objetos Ampliación sobre clases y objetos Programación Orientada a Objetos Facultad de Informática Dep. Ingeniería del Software e Inteligencia Artificial Universidad
