Professional Documents
Culture Documents
ING. JOS ARMANDO ORDEZ GRUPO DE INGENIERA TELEMTICA UNIVERSIDAD DEL CAUCA
Contenido
Introduccin TCP/IP y OSI El modelo Cliente-Servidor Sockets
Mecanismo de comunicacin Sokets en java Ejemplo de Sockets
Introduccin
Para que dos computadores se puedan comunicar es necesario que puedan:
Localizarse el uno al otro Intercambiar cualquier secuencia de octetos
Protocolo de comunicaciones Direccin de protocolo de red (ej. Dir. IP) Un nmero de puerto
TCP/IP Y OSI
TCP/IP NFS XDR RPC TCP/UDP IP/ICMP Trama Ethernet Red Ethernet 4. Transporte 3. Internet 2. Interfaz de Red 1. Hardware 5. Aplicacin OSI 7. Aplicacin 6. Representacin 5. Sesin 4. Transporte 3. Red 2. Enlace de Datos 1. Fsico
El Cliente
Activo Enva peticiones Recibe respuestas del servidor
CLIENTE
Consulta Respuesta
Sockets
Son puntos finales de enlaces de comunicaciones entre procesos. Un socket queda definido por una direccin IP, un protocolo y un nmero de puerto.
Puerto: direccin numrica para procesar un servicio. Direccin lgica del sistema operativo.
Sockets UDP
Garantiza que los mensajes lleguen bien No garantiza orden de transmisin y recepcin Ideal para envo de mensajes frecuentes no importantes
Por ej. Video Streaming, Actualizaciones de grficos.
Tipos de Sockets
Sockets Stream(TCP):
Modo conectado (orientado a la conexin) Comunicaciones de dos vas Tamao variable de los mensajes.
Sockets Datagram(UDP):
Modo no conectado (no orientado a la conexin) Envo de datagramas de tamao limitado
Sokets Raw(IP):
Acceso a protocolos de bajo nivel. Se usa para depuracin de cdigos de protocolos
Sockets en Java
Java permite abstraer el nivel de red al programador. Java aporta una API que implementa todos los conceptos sobre sockets.
Sockets en Java
El paquete para manejo de red es java.net contiene las siguientes clases:
Socket:
Utiliza TCP Proporciona mtodos entrada salida a travs de flujos.
Server Socket:
Escucha peticiones de los clientes No realiza el servicio, crea un objeto Socket en funcin del cliente para comunicarse
DatagramSocket:
Implementacin de datagramas (Sockets UDP) no ordenados Comunicacin rpida, no hay que establecimiento de conexin.
Sockets en Java
DatagramPacket:
Datagrama con informacin del paquete (longitud, direcciones IP y nmeros de puerto)
MulticastSocket:
Versin multicast de sockets datagrama. Mltiples Clientes/Servidores pueden transmitir a un grupo de multicast (Direcciones IP que comparten el mismo puerto)
NetworkServer:
Implementa mtodos y variables para crear un cliente TCP/IP
NetworkClient:
Mtodos y variables para crear un cliente TCP/IP
SocketImp:
Modelo de comunicacin personalizado
Crea el socket servidor en queda bloqueado Especifica que puede Se para escuchar conexiones en el puerto atender 4 un cliente hasta que clientes, sese Genera 5000 modificardeun el puede un flujo de conecte.un flujo para Genera Devuelve salida a partir del nmero de corresponde socket para clientes salida que enviar datos Permite escribir una OutputStreamejemplo deseados,(solo para a la conexin con el al cliente por admite cadena (String) en el admitirwhile(true) con unelsalidanormales Cierra tipos para cliente. socket de bytes) flujo de (enteros, flotantes, conexin con el cliente enviarla al cliente. strings)
Crea el socketde entrada Crea un flujo cliente para conectarsede el para recibir los datos Define un flujo con servidor a travs (este desde el a partir del de entrada leer el flujo Permite servidor del puerto 5000bytes) en solo admite para InputStream del entrada ysocket Cierra el escribirlo aceptarpara finalizar la la salidadatos normales cliente estndar del como cadenas, enteros sistema. comunicacin y flotantes
PREGUNTAS???
GRUPO DE INGENIERA TELEMTICA