Sockets programming. Tipos de datos. Tipos de datos mas usados en programas cliente-servidor: u-char Unsigned 8-bit character. u-short Unsigned 16-bit.

Slides:



Advertisements
Presentaciones similares
Arquitectura cliente-servidor
Advertisements

Curso de Java Java – Redes Rogelio Ferreira Escutia.
CJ02 – Técnicas avanzadas en java 1.4 y 5.0
Programación Interactiva Aplicaciones Cliente-Servidor
INF 1400: Redes de Computadores
Funciones de sockets en C
TEMA 2 Técnicas básicas de construcción de aplicaciones distribuidas
Sockets y Threads en JAVA
Sistemas Informáticos Distribuidos
SOCKETS INTRODUCCIÓN DEFINICIÓN TIPOS DE SOCKETS USO DE SOCKETS.
Ingeniería en Automática Industrial Software para Aplicaciones Industriales I Ingeniería en Automática Industrial Software para Aplicaciones Industriales.
Servidor.pl #!/usr/local/bin/perl use Socket; ($port) $port = 2345 unless $port; Empleamos el módulo Socket, equivalente a las definiciones que.
PROTOCOLOS Un protocolo es un conjunto de reglas que hacen que la comunicación en una red sea más eficiente.
Cliente.pl #!/usr/local/bin/perl use Socket; ($them, $port) $port = 2345 unless $port; $them = 'localhost' unless $them; El primer argumento es.
Servidor de Batalla Naval.
MODELO TCP/IP.
El Socket Un socket es un extremo de un link de comunicación entre dos programas que corren en una red. El socket esta asociado (amarrado, bound) a ub.
CONCEPTES AVANÇATS DE SISTEMES OPERATIUS Departament d’Arquitectura de Computadors (Seminaris de CASO) Autors Christophe Fontano Julien Alagnou Socket.
1 Streams en Java Agustín J. González ELO Generalidades Un Stream es simplemente una fuente o destino de bytes. Los streams más comunes son los.
©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 4 th Ed Chapter N - 1 Capitulo 12 Archivos de Ingreso y Salida.
Sockets en Java. Sockets ● Para programar aplicaciones en red en Java se utilizan los Sockets. ● Un socket permite establecer y manejar una conexión entre.
Arquitectura - 3er Parcial. Asignaturas para Arquitectura – 3er Parcial.  Diseño del modelo de red (clase networking).  Implementacion del modelo de.
Scis.regis.edu ● CS-434: Programación Orientada a Objetos usando Java Semana 7 Dr. Jesús Borrego Adjunct Faculty Regis University 1.
1 Chat de salón 1.Enunciado del problema 2.Modelo cliente/servidor 3.Protocolo de comunicación con el servidor. 4.Chat privado 5.Diseño del cliente 6.Diseño.
Entrada y Salida Java. Clase File La clase File proporciona mucha informacion relacionada con archivos y con la obtencion de informacion basica sobre.
Entrada / Salida. Java adopta de Unix el concepto de stream Un stream es un flujo de datos (secuencia de bytes) que va de una fuente a un destino. Desde.
CONTROL REMOTO SEGURO Álvaro Bravo Mercado Domingo Devotto Nelson Figueroa.
Sockets.
La Web y el HTTP. Antes del año 1990 Internet era usado por InvestigadoresAcadémicosEstudiantes Transferir archivos logearse remotamente Enviar/recibir.
SOCKETS.
1 Nivel aplicación Interacción Cliente Servidor Agustín J. González ELO309.
Socket en.NET Grupo # 5. ¿Qué es un Socket? Es la relación entre un puerto de un equipo y el puerto de otro equipo. ¿Qué es un puerto? Es el medio por.
Sockets. / Los sockets (zócalos, referido a los enchufes de conexión de cables) son mecanismos de comunicación entre programas a través de una red TCP/IP.
CAPITULO 6 CAPA DE TRANSPORTE
Clase de Sockets en lenguaje C
2: Capa Aplicación 1 Capítulo 2: Capa Aplicación  2.1 Principios de la aplicaciones de red  2.2 Web y HTTP  2.3 FTP  2.4 Correo Electrónico  SMTP,
COMPARATIVA CLIENT/SERVIDOR AMB SOCKETS C vs. JAVA MANEL DOMÍNGUEZ SERRA GERARD ROCA MALLOFRÉ.
2: Capa Aplicación 1 Capa Aplicación: FTP ELO322: Redes de Computadores Agustín J. González Este material está basado en:  Material de apoyo al texto.
ELO3091 Interfaz de Socket Agustín J. González ELO309.
Universidad Autónoma de Colombia Comunicación de procesos Sockets Ingeniería de Sistemas Electiva Tecnológica.
Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) cec.uchile.cl Módulo ECI - 11: Fundamentos de Redes de Computadores.
Capa Transporte3-1 Capítulo 3: Capa transporte ELO322: Redes de Computadores Agustín J. González Este material está basado en el material preparado como.
Otras aplicaciones1 FTP Telnet (y ssh) WWW. Otras aplicaciones2 FTP File Tranfer Protocol Protocolo de transferencia de archivos básico pero útil y fácil.
Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) cec.uchile.cl Módulo ECI - 11: Fundamentos de Redes de Computadores.
Manejo de Ficheros en JAVA
Departamento de Arquitectura y Tecnología de Computadores E.T.S. Ingeniería Informática Lección 2. La API de Sockets Julio Ortega Lopera. Curso 2004/2005.
1 SOCKETS AIRAN GODOY HERNANDEZ JOSE MARIA RODRIGUEZ RODRIGUEZ 5º INGENIERIA EN INFORMATICA AMPLIACION DE SISTEMAS OPERATIVOS.
Andres Marín L. Programación sockets en java.
LABORATORIO DE ESTRUCTURA DE COMPUTADORES II Desarrollo de aplicación Cliente-Servidor.
2: Capa Aplicación 1 Capa Aplicación: File Transfer Protocol ELO322: Redes de Computadores Agustín J. González Este material está basado en:  Material.
INTEGRANTES : Selvin Rivas José Vásquez Francisco Pérez J’ Alberto Patal.
Introducción Nivel 4. Modelo OSI Propiedades Nivel 4 Entrega de mensajes garantizada. Entrega de mensajes en el mismo orden en el que fueron enviados.
4. Introducción a IP,TCP,UDP,ARP,ICMP
Capítulo 3: Capa Transporte - I
Capa Aplicación: Programación de sockets
Nivel de Transporte en Internet
FTP Funcionamiento de FTP Funcionamiento de Cliente FTP
QUE ES EL TELNET El protocolo Telnet es un protocolo de Internet estándar que permite conectar terminales y aplicaciones en Internet.
Modelo OSI Para redes………
C1-Sistemas Distribuidos Concurrencia Varias componentes en una misma máquina-> Concurrencia Inteleaving (1 sola CPU, N procesos) Paralelo (N CPU, M procesos)
1 Introducción a las Comunicaciones en Red. import java.net.InetAddress; import java.net.UnknownHostException; public class PruebaSockets { public static.
INTEGRANTES: JORGE CRUZ DE OCAMPO EDSON SANCHEZ SUAREZ
Capa Aplicación: Programación de sockets
Capa Aplicación: Programación de sockets
Conceptos Básicos de Programación
Programación con sockets I
Programación con sockets II
Capa Aplicación: Programación de sockets
Capa Aplicación: Programación de sockets
Capa Aplicación: 2.7 Programación de sockets
Transcripción de la presentación:

Sockets programming

Tipos de datos. Tipos de datos mas usados en programas cliente-servidor: u-char Unsigned 8-bit character. u-short Unsigned 16-bit integer. u-long Unsigned 32-bit integer. Tipos de datos mas usados en programas cliente-servidor: u-char Unsigned 8-bit character. u-short Unsigned 16-bit integer. u-long Unsigned 32-bit integer.

Internet Address Structure Las direcciones de IPv4 se definen como una estructura (struct en C). La estructura guarda un numero binario de 32 bits (IP address). Structin_addr { u_long s_addr; } Las direcciones de IPv4 se definen como una estructura (struct en C). La estructura guarda un numero binario de 32 bits (IP address). Structin_addr { u_long s_addr; }

SOCKETSSOCKETS Un socket actua como un “end point”. Para que 2 procesos se comuniquen necesitan una estructura socket SOCKET ADDRESS STRUCTURE: Structsockaddr_in { u_char sin_len; u_short sin_family; u_short sin_port; struct in_addrsin_addr; char sin_zero [8]; } Un socket actua como un “end point”. Para que 2 procesos se comuniquen necesitan una estructura socket SOCKET ADDRESS STRUCTURE: Structsockaddr_in { u_char sin_len; u_short sin_family; u_short sin_port; struct in_addrsin_addr; char sin_zero [8]; }

Campos de la estructura SOCKET Family: IPv4, IPv6, UNIX (Grupo de protocolos). Type: stream, datagram, raw (Tipo de socket). Protocol: valor de 0 para TCP o UDP. Local socket address. Remote socket address. Family: IPv4, IPv6, UNIX (Grupo de protocolos). Type: stream, datagram, raw (Tipo de socket). Protocol: valor de 0 para TCP o UDP. Local socket address. Remote socket address.

Socket structure Local Socket Address Remote Socket Address FamilyTypeProtocol

Socket Types Raw Socket. Utilizado para aplicaciones que usan protocolos que interactuan directamente con los servicios IP (ej.- ICMP, OSPF). Raw Socket. Utilizado para aplicaciones que usan protocolos que interactuan directamente con los servicios IP (ej.- ICMP, OSPF). Application Program TCPUDP IP Physical and data link layers

SOCKET SYSTEM CALLS Funciones definidas para llamar desde una aplicacion a otra: Socket Bind Connect Listen Accept Sendto Recvfrom Read Write Close Funciones definidas para llamar desde una aplicacion a otra: Socket Bind Connect Listen Accept Sendto Recvfrom Read Write Close

Funciones.Funciones. Socket Esta funcion crea un socket. Int socket (int family, int type, int protocol); Bind Asocia un socket con una direccion local de socket. Int bind (int sockfd, const struct socketaddr_in *localaddr, int localaddrlen); Socket Esta funcion crea un socket. Int socket (int family, int type, int protocol); Bind Asocia un socket con una direccion local de socket. Int bind (int sockfd, const struct socketaddr_in *localaddr, int localaddrlen);

Funciones.Funciones. Connect Es utilizado por un proceso para establecer una conexion activa con un proceso remoto. Int connect (int sockfd, const struct sockaddr_in *serveraddr, int serveraddrlen); Listen Es utilizada unicamente por un servidor TCP. Crea un socket pasivo para un socket que aun no se conecta. Int listen (int sockfd, int backlog); Connect Es utilizado por un proceso para establecer una conexion activa con un proceso remoto. Int connect (int sockfd, const struct sockaddr_in *serveraddr, int serveraddrlen); Listen Es utilizada unicamente por un servidor TCP. Crea un socket pasivo para un socket que aun no se conecta. Int listen (int sockfd, int backlog);

Funciones.Funciones. Accept La utiliza un TCP Server para remover la primera requisicion de conexion que se encuentra en la fila. Int accept (int sockfd, const struct sockaddr_in *clientaddr, int * client addrlen); Sendto Es utilizada por un proceso usando UDP para enviar un mensaje hacia un proceso remoto. Int sendto (int sockfd, const void *buf, int buflen, int flags, const struct sockaddr_in *toaddr, int toaddrlen); Accept La utiliza un TCP Server para remover la primera requisicion de conexion que se encuentra en la fila. Int accept (int sockfd, const struct sockaddr_in *clientaddr, int * client addrlen); Sendto Es utilizada por un proceso usando UDP para enviar un mensaje hacia un proceso remoto. Int sendto (int sockfd, const void *buf, int buflen, int flags, const struct sockaddr_in *toaddr, int toaddrlen);

Funciones.Funciones. Read Es utilizada por un proceso para recibir datos de otro proceso remoto (se asume que ya hay una conexion abierta - TCP). Int read (int sockfd, const void *buf, int buflen) Recvfrom Extrae el siguiente mensaje que llega a un socket. Int recvfrom (int sockfd, const void *buf, int buflen, int flags, const struct sockaddr_in *fromaddr, int fromaddrlen); Read Es utilizada por un proceso para recibir datos de otro proceso remoto (se asume que ya hay una conexion abierta - TCP). Int read (int sockfd, const void *buf, int buflen) Recvfrom Extrae el siguiente mensaje que llega a un socket. Int recvfrom (int sockfd, const void *buf, int buflen, int flags, const struct sockaddr_in *fromaddr, int fromaddrlen);

Funciones.Funciones. Write Usada por un proceso para enviar datos a un proceso remoto (se asume que ya existe conexion activa - TCP). Int write (int sockfd, const void *buf, int buflen); Close Es utilizada por un proceso para cerrar un socket y terminar la conexion. Int close (int sockfd); Write Usada por un proceso para enviar datos a un proceso remoto (se asume que ya existe conexion activa - TCP). Int write (int sockfd, const void *buf, int buflen); Close Es utilizada por un proceso para cerrar un socket y terminar la conexion. Int close (int sockfd);

ConnectionlessConnectionless SERVER 1.Opening a socket. 2.Binding. 3.Repeating the steps: 1.Receiving. 2.Sending. SERVER 1.Opening a socket. 2.Binding. 3.Repeating the steps: 1.Receiving. 2.Sending.

ConnectionlessConnectionless CLIENT. 1.Opening a socket. 2.Repeating the steps: 1.Receiving. 2.Sending. 3.Closing. CLIENT. 1.Opening a socket. 2.Repeating the steps: 1.Receiving. 2.Sending. 3.Closing.

Connection-orientedConnection-oriented SERVER. 1.Opening a socket. 2.Binding. 3.Listening. 4.Repeating the steps: 1.Accepting 2.Forking. 3.Repeating: 1.Reading. 2.Processing. 3.Writing. 4.Closing the communication socket. SERVER. 1.Opening a socket. 2.Binding. 3.Listening. 4.Repeating the steps: 1.Accepting 2.Forking. 3.Repeating: 1.Reading. 2.Processing. 3.Writing. 4.Closing the communication socket.

Connection-orientedConnection-oriented CLIENT. 1.Opening a socket. 2.Connecting. 3.Repeating the steps: 1.Writing. 2.Reading. 4.Closing. CLIENT. 1.Opening a socket. 2.Connecting. 3.Repeating the steps: 1.Writing. 2.Reading. 4.Closing.

Ejemplo en Java.

ServerSocketServerSocket Al implementar un servidor necesitamos crear un objeto socket llamado “ ServerSocket ” para escuchar y aceptar conexiones de clientes.

Input Stream Se utiliza la clase DataInputStream. Para crear un stream del lado del cliente:

Input Stream La clase DataInputStream permite leer lineas de texto y tipo de datos primitivos de Java. Se pueden utilizar metodos como: read, readChar, readInt, readDouble, y readLine,. Para recibir un stream del lado del servidor: La clase DataInputStream permite leer lineas de texto y tipo de datos primitivos de Java. Se pueden utilizar metodos como: read, readChar, readInt, readDouble, y readLine,. Para recibir un stream del lado del servidor:

Output Stream En el cliente se crea un output stream para enviar datos al servidor con las clases PrintStream or DataOutputStream de java.io.

Server output En el servidor se pueden utilizar las mismas clases para enviar informacion al cliente. Ejemplo con “ PrintStream ” : En el servidor se pueden utilizar las mismas clases para enviar informacion al cliente. Ejemplo con “ PrintStream ” :

Para cerrar un socket.

Bibliografia y sitios recomendados. Programacion en Java: /jw-12-sockets-p2.htmlhttp:// 1996/jw-12-sockets-p2.html Socket Programming HOWTO (phyton) Programacion en Java: /jw-12-sockets-p2.htmlhttp:// 1996/jw-12-sockets-p2.html Socket Programming HOWTO (phyton)

An Introduction to Socket Programming - C. et/ et/ Sockets Programming. s.htmlhttp:// s.html An Introduction to Socket Programming - C. et/ et/ Sockets Programming. s.htmlhttp:// s.html