Está en la página 1de 5

Emisión:

5/10/2022
ESCUELA PROFESIONAL DE
INGENIERÍA EN Página
1/3
TELECOMUNICACIONES

UNIVERSIDAD NACIONAL DE SAN AGUSTIN DE AREQUIPA


FACULTAD DE INGENIERIA DE PRODUCCION Y SERVICIOS

LABORATORIO N° 03
TÍTULO: “COMUNICACIÓN TCP”

INTEGRANTES: GRUPAL INDIV. TOTAL


1.
2.
3.
4.
GRUPO: DOCENTE: MSC. NANCY ORIHUELA
SEMESTRE: 8vo sem.
FECHA DE ENTREGA: HORA:
Emisión:
5/10/2022
ESCUELA PROFESIONAL DE
INGENIERÍA DE Página
2/3
TELECOMUNICACIONES

“COMUNICACIÓN TCP”
I. OBJETIVOS:

APRENDER A USAR LOS SOCKETS PARA COMUNICACIÓN EN TCP

II. FUNDAMENTO TEÓRICO:


Es una interfaz de entrada‐salida de datos que permite la intercomunicación
entre procesos. Es un punto final (endpoint) en la comunicación, el cual una
aplicación puede escribir datos que serán enviados por la red y desde el cual
ingresará los datos que puede leer
III. EQUIPOS Y MATERIALES A UTILIZAR:
Cantidad Descripción
1 Computador o similar con conexión a internet,
1 Python y su editor.
IV. PROCEDIMIENTO:
INSTALE LA HERRAMIENTA DE SOFTWARE SE RECOMIENDA QUE USE LA VERSION
2.7 POR SER LA MAS ESTABLE,
USE EL EDITOR POR EJEMPLO TEXT PAD E IMPORTE LAS LIBRERIAS

4.1. Para iniciar tipee el programa para el servidor

SERVER

#!/usr/bin/env python3
# Foundations of Python Network Programming, Third Edition
# https://github.com/brandon-rhodes/fopnp/blob/m/py3/chapter03/tcp_sixteen.py
# Simple TCP client and server que envian y reciben 16 octetos
import argparse, socket

def recvall (sock, length):


data = b' '
while len (data) < length:
more = sock.recv (length - len(data))
if not more:
raise EOFError ('was expecting %d bytes but only received'
' %d bytes before the socket closed'
% (length, len(data)))
data += more
return data
def server (interface, port):
sock = socket.socket (socket.AF_INET, socket.SOCK_STREAM)
sock.setsockopt (socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
sock.bind ((interface, port))
sock.listen (1)
print ('Listening at', sock.getsockname())
while True:
sc, sockname = sock.accept ()
print ('We have accepted a connection from', sockname)
print (' Socket name:', sc.getsockname ())
print (' Socket peer:', sc.getpeername ())
message = recvall(sc, 16)
print (' Incoming sixteen-octet message:', repr (message))
sc.sendall (b'Farewell, client')
sc.close ()
print (' Reply sent, socket closed')

4.2. Guarde como un archivo de Python es decir con extensión “.py”

4.3. Para continuar tipee el programa del Cliente de las pag 21


CLIENT
def client (host, port):
sock = socket.socket (socket.AF_INET, socket.SOCK_STREAM)
sock.connect ((host, port))
print ('Al cliente se le ha asignado un nombre de socket', sock.getsockname ())
sock.sendall (b'Hi there, server')
reply = recvall (sock, 16)
print('El servidor dijo', repr (reply))
sock.close ()
if name == ' main ':
choices = {'client': client, 'server': server}
parser = argparse.ArgumentParser (description='Send and receive over TCP')
parser.add_argument ('role', choices=choices, help='which role to play')
parser.add_argument ('host', help='interface the server listens at;'
' host the client sends to')
parser.add_argument ('-p', metavar='PORT', type=int, default=1060,
help='TCP port (default 1060)')
args = parser.parse_args ()
function = choices[args.role]
function (args.host, args.p)
Emisión:
5/10/2022
ESCUELA PROFESIONAL DE
INGENIERÍA DE Página
3/3
TELECOMUNICACIONES
4.4. Acondicionar el programa de acuerdo a la versión de Python o editor que tenga, de
modo que funcione la comunicación por socket, enviando la data correspondiente

4.5. Registre en este item el programa modificado.

4.6. Ejecute primero el servidor, luego ejecute el programa cliente, registre los
resultados con una impresión de pantalla.

4.7. Modifique el programa para enviar como data: mensaje traducido repita el
paso 4.6.
4.8. Suba el documento en formato pdf al dutic

Arequipa 05 de Octubre del 2022

Msc. NANCY ORIHUELA ORDOÑEZ


Docente DAIE

También podría gustarte