Cliente.pl #!/usr/local/bin/perl use Socket; ($them, $port) $port = 2345 unless $port; $them = 'localhost' unless $them; El primer argumento es.

Slides:



Advertisements
Presentaciones similares
Arquitectura cliente-servidor
Advertisements

Curso de Java Java – Redes Rogelio Ferreira Escutia.
El mecanismo básico de interacción entre el usuario y un sitio web esta dado por el uso de formularios html. El server envía un formulario que el browser.
Con el comando netstat (Network status) mostrará información sobre la configuración y actividad de la red.
INF 1400: Redes de Computadores
Desarrollo de Aplicaciones para Internet
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.
Introducción a Programación Concurrente
Seminario de Actualización - Excel Avanzado y Macros
Herramientas Grep y AWK
Servidor.pl #!/usr/local/bin/perl use Socket; ($port) $port = 2345 unless $port; Empleamos el módulo Socket, equivalente a las definiciones que.
Servidor de Batalla Naval.
Qué pasa cuando varios clientes tratan de conectarse al mismo teimpo a un servidor Una forma es ir atendiéndolos de a uno en un ciclo: como en el programa.
TALLER DE DESARROLLO WEB PÁGINAS DINÁMICAS CON PHP.
Taller 5: Trabajo con Plantillas y uso de tecnología Ajax.
Ing. Eddye Sánchez Castillo. Las principales temas de este capitulo son:  Conectarse al Servidor MySql  Conectarse a la Base de Datos  Enviar Consultas.
CONCEPTES AVANÇATS DE SISTEMES OPERATIUS Departament d’Arquitectura de Computadors (Seminaris de CASO) Autors Christophe Fontano Julien Alagnou Socket.
1 Procedimientos Es un conjunto de sentencias incluidas entre las declaraciones Sub o Function y End Sub/Function VB utiliza varios tipos de procedimientos:
BASE DE DATOS DISTRIBUIDAS
Multiprogramación Procesos Cecilia Hernández
Sistemas Operativos Distribuidos Prácticas Justo N. Hidalgo Sanz Universidad Antonio de Nebrija 2002/03.
Archivos Programación.
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.
Programación II Ing. Diego J. Arcusin 8 – Perl.
Node.JS Proyecto Redes de Computadores Sem
Víctor Toscanini M. & Martín Galaz M.
Como comunicar 2 procesos emparentados
Sockets.
Diseñando la arquitectura de aplicaciones empresariales. Acceso al SQL Server.- Autenticación de usuario:
SOCKETS.
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.
FUNCIONES Conceptos básicos. Retorno de una función Clases de funciones. Paso de parámetros. Funciones y arrays.
Control de Flujo.
Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) cec.uchile.cl Módulo ECI - 11: Fundamentos de Redes de Computadores.
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.
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.
User Datagram Protocol UDP Juan Pablo Araneda Danilo Araya Z.
Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) cec.uchile.cl Módulo ECI - 11: Fundamentos de Redes de Computadores.
TRANSFER FILE BY IP Claudia Codriansky Miguel Olave
© Manuel ColladoAWK-1 Herramientas Grep y AWK Grep: Globally search for Reg. Expr. and Print (UNIX - editor “ed” - g/re/ p) AWK: Aho, Weinberger.
Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) cec.uchile.cl Módulo ECI - 11: Fundamentos de Redes de Computadores.
Punto 6 – Alojamiento Virtual de sitios web: Hosts Virtuales Juan Luis Cano.
LABORATORIO DE ESTRUCTURA DE COMPUTADORES II Desarrollo de aplicación Cliente-Servidor.
Christian Zurita Ávila.  En el momento que nuestro ordenador se conecta a internet, éste pasa a ser un elemento más dentro de la Red, es decir, forma.
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.
1 TÉCNICAS DE PROGRAMACIÓN Lenguaje C Tercera Clase (Segunda de C)
COMANDOS ESPECIALES EN LAS REDES ANDERSON YAIR GUERRERO GARCÍA.
Funcionamiento del servicio DHCP. Tipos de mensajes 07/10/20121Jesús Torres Cejudo.
Capa Aplicación: Programación de sockets
FTP Funcionamiento de FTP Funcionamiento de Cliente FTP
Práctica de Laboratorio de Bases de Datos
C1-Sistemas Distribuidos Concurrencia Varias componentes en una misma máquina-> Concurrencia Inteleaving (1 sola CPU, N procesos) Paralelo (N CPU, M procesos)
COMANDOS ESPECIALES EN LAS REDES LAURA XIMENA BARBOSA TECNICO EN SISTEMAS OCAÑA 2014.
Introducción a los servicios de nombres de dominio. Javier Rodríguez Granados.
8. SMTP n 8.1 Objetivos y características. n 8.2 Funcionamiento. u Modelo de comunicación. u Abrir y cerrar el canal. u Envío. u Enacminamiento de los.
En informática, es un protocolo de red para la transferencia de archivos entre sistemas conectados a una red TCP (Transmission Control Protocol)
1 Introducción a las Comunicaciones en Red. import java.net.InetAddress; import java.net.UnknownHostException; public class PruebaSockets { public static.
Paul Leger SOCKETs Paul Leger
Paul Leger SOCKETs Paul Leger
Ayudantía de EC: Sockets
Programación con sockets II
Transcripción de la presentación:

Cliente.pl #!/usr/local/bin/perl use Socket; ($them, $port) $port = 2345 unless $port; $them = 'localhost' unless $them; El primer argumento es el nombre de la máquina a la que conectamos «them», y el siguiente, el puerto «port» Si no se da nombre de host, se asume que es «localhost»

Cliente.pl (2) $SIG{'Int'} = 'dokill'; sub dokill { kill 9, $child if $child; } chop($hostname = `hostname`); El vector de interrupciones es una tabla hash «SIG» Programamos «Int» para llamar a «dokill» La variable «child» nos ayuda a hacer la limpieza, dado que necesitaremos un proceso hijo. Averiguamos el nombre local «`hostname`» y eliminamos el retorno de carro de la línea

Cliente.pl (3) ($name, $aliases, $proto) = getprotobyname('tcp'); ($name, $aliases, $port) = getservbyname($port,'tcp') unless $port =~ /^\d+$/; print "Using port $port to connect to server on host $them...\n"; ($name,$aliases,$type,$len,$thisaddr) = gethostbyname($hostname); ($name, $aliases,$type,$len,$thataddr) = gethostbyname($them); Ligeramente diferente al del servidor, pero con idéntico efecto. nuestra IP a partir del nombre del host. su IP a partir de «them».

Cliente.pl (4) if (socket(S,AF_INET, SOCK_STREAM, $proto)) { print "Socket creation succeeded.\n"; } else { die $!; } $sockaddr = 'S n a4 x8'; $this = pack($sockaddr, AF_INET, 0, $thisaddr); $that = pack($sockaddr, AF_INET, $port, $thataddr); Ligeramente diferente al del servidor, pero con idéntico efecto. Empaqueta las direcciones para el binding

Cliente.pl (5) if (bind(S, $this)) { print "Bind succeeded.\n"; } else { die $!; } if (connect(S, $that)) { print "Connect succeeded.\n"; } else { die $!; } select(S); $| = 1; select(STDOUT); «connect» inicia la conexión de los sockets. No hay «listen»

Cliente.pl (6) if ($child = fork) { while ( ) { print S; } # Sleep for 3 seconds then... sleep 3; #...then kill ourselves and the child do dokill(); } «fork»: • un proceso leerá de la entrada estándar y envía por el socket, y • otro lee del socket e imprime en la salida estándar. aquí acaba el código del hijo: ojo: es el fín del stream del hijo el que para también al padre

Cliente.pl (7) else { while ( ) { print "Server: $_"; } El padre finalizará cuando llegue el final del stream del servidor, pero esto no debiera ocurrir. OJO : para acabar, finalizaremos con ^D el proceso cliente, y luego los servidores.