Se realizó el siguiente laboratorio en python
Código server
import socket
import sys
# Create a TCP/IP socket
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# Unir el socket con el puerto
server_address = ('localhost', 10000)
print('starting up on {} port {}'.format(*server_address))
sock.bind(server_address)
# Escuchar las conexiones entrantes
sock.listen(1)
while True:
# En espera de conexion
print('Esperando por conexión')
connection, client_address = sock.accept()
try:
print('Conexión desde', client_address)
# Receive the data in small chunks and retransmit it
while True:
data = connection.recv(16)
print('Recibido {!r}'.format(data))
if data:
print('Enviando datos de vuelta al cliente')
connection.sendall(data)
else:
print('Sin datos desde', client_address)
break
finally:
#Limpiar la conexion
connection.close()
Oscar Andrés Rodríguez Facultad de ingeniería
1013599698 Ingeniería de telecomunicaciones
Código cliente
import socket
import sys
# Se crea un socket tcp/ip
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# Se conecta el socket al puerto por el cual escucha el servidor
server_address = ('localhost', 10000)
print('connecting to {} port {}'.format(*server_address))
sock.connect(server_address)
try:
# Envia la data
message = b'This is the message. It will be repeated.'
print('sending {!r}'.format(message))
sock.sendall(message)
# Busca respuesta
amount_received = 0
amount_expected = len(message)
while amount_received < amount_expected:
data = sock.recv(16)
amount_received += len(data)
print('Recibido {!r}'.format(data))
finally:
print('Cerrando socket')
sock.close()
Oscar Andrés Rodríguez Facultad de ingeniería
1013599698 Ingeniería de telecomunicaciones
Evidencia de ejecución
La data se envía en forma de bytes por lo cual lo que se evidencia en wireshark se ve de
la siguiente manera
Oscar Andrés Rodríguez Facultad de ingeniería
1013599698 Ingeniería de telecomunicaciones
Oscar Andrés Rodríguez Facultad de ingeniería
1013599698 Ingeniería de telecomunicaciones