Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Laboratorio Modelo Cliente Servidor PDF
Laboratorio Modelo Cliente Servidor PDF
Marzo 2009
Computadores y Comunicaciones Prctica Modelo Cliente-Servidor
ndice de contenidos
1. Introduccin....................................................................................................2
2. Ejemplo 1: Aplicacin bsica..........................................................................2
3. Ejemplo 2: Aplicacin interactiva...................................................................3
4. Anexos: Cdigos de los ejemplos....................................................................4
4.1. Cdigos del Ejemplo 1..............................................................................4
4.1.1. Servidor bsico...............................................................................................4
4.1.2. Cliente bsico.................................................................................................5
4.2. Cdigos del Ejemplo 2..............................................................................6
4.2.1. Servidor interactivo........................................................................................6
4.2.2. Cliente interactivo..........................................................................................7
1
Computadores y Comunicaciones Prctica Modelo Cliente-Servidor
1. Introduccin
Esta prctica de laboratorio tiene como objetivo mostrar el funcionamiento de
las aplicaciones basadas en el modelo cliente-servidor.
Para ello, se ha desarrollado una serie de ejemplos sobre un sistema
Ubuntu/Linux, en concreto:
Ejemplo 1: Aplicacin bsica.
Ejemplo 2: Aplicacin interactiva.
En todos los casos, se proporcionar a los alumnos el cdigo fuente de los
programas, de forma que el trabajo a realizar consiste en completar los
diferentes apartados que se plantean. Los ejemplos propuestos estn
implementados utilizando el lenguaje de programacin Python.
En principio no es necesario instalar ningn programa, aunque s ser
necesario utilizar un editor de texto plano (nano, gedit, etc.) para la
visualizacin del contenido de los archivos.
2
Computadores y Comunicaciones Prctica Modelo Cliente-Servidor
3
Computadores y Comunicaciones Prctica Modelo Cliente-Servidor
import sys, os
from socket import *
from time import *
# Un socket que escucha slo sirve para escuchar. Cuando se establece una
# conexin se crea un nuevo socket para el intercambio de informacin.
while 1:
# Espera a que haya una conexin y la acepta.
accepted_socket, address = listening_socket.accept()
4
Computadores y Comunicaciones Prctica Modelo Cliente-Servidor
import sys, os
from socket import *
# Crea un socket.
connection_socket = socket(AF_INET,SOCK_STREAM)
# Crea los ficheros asociados con el socket. Permite leer y escribir del
# socket como si de un fichero se tratase.
incoming_stream = connection_socket.makefile("rt")
outgoing_stream = connection_socket.makefile("wt")
5
Computadores y Comunicaciones Prctica Modelo Cliente-Servidor
import sys, os
from socket import *
if pid != 0:
# Entrando en el proceso padre
# Cerrar el socket de escucha
listening_socket.close()
6
Computadores y Comunicaciones Prctica Modelo Cliente-Servidor
msg = incoming_stream.readline()
print msg
if msg == "salir\n":
break
import sys, os
from socket import *
# Crea un socket.
7
Computadores y Comunicaciones Prctica Modelo Cliente-Servidor
connection_socket = socket(AF_INET,SOCK_STREAM)
if pid != 0:
# Entrando en el proceso padre
# Permite leer del socket como si de un fichero se tratase.
incoming_stream = connection_socket.makefile("rt")
print "El cliente acepta mensajes del servidor"
os.waitpid(pid, 0)
else:
# Entrando en el proceso hijo
# Permite escribir en el socket como si de un fichero se tratase.
outgoing_stream = connection_socket.makefile("wt")
print "El cliente permite mandar mensajes al servidor"