Que tal amigos. LLevo ya un año aprendiendo python y actualmente estoy full trabajando en un programa tipo cliente - servidor via socket en python 3.10.
Expecificamente estoy buscando aprender a poder enviar cualquier tipo de archivo via socket. En este mismo foro un colega publico al parecer un excelente contenido pero debido a que carezco un poco de conocimiento no logro comprender todas las partes del codigo.
Adjunto link de la publicacion del colega y aqui mismo formulare lo que no entiendo que hace el codigo y ver si pueden hecharme una mano con ello. Creo que sera la forma mas eficiente para no hacerles perder tanto tiempo. De ante mano muchas gracias.
Link del colega : Enviar archivo vía socket en Python 3 - Recursos Python
preguntas:
1. stream : bytes() ¿que esta haciendo especificamente?
2. chunk = sck.recv(expected_bytes - received_bytes) ¿Porque esta restanto una variable con otra?
3.stream += chunk ¿ Que intenta sumar?
4.received_bytes += len(chunk) ¿creo que hace algo parecido al punto 3. creo que es un tipo append?, pero no estoy seguro.
5. filesize = struct.unpack(fmt, stream)[0] ¿realmente no logro comprender por completo qe intenta hacer aqui, es decir, se que intenta decodificar con unpack pero no comprendo poque mezcla las dos varibales y el [0]
6.
Quien sera tan buena gente para ayudarme con el codigo. al menos solo con el del servidor porque el del cliente lo comprendo al menos mejor.....
Expecificamente estoy buscando aprender a poder enviar cualquier tipo de archivo via socket. En este mismo foro un colega publico al parecer un excelente contenido pero debido a que carezco un poco de conocimiento no logro comprender todas las partes del codigo.
Adjunto link de la publicacion del colega y aqui mismo formulare lo que no entiendo que hace el codigo y ver si pueden hecharme una mano con ello. Creo que sera la forma mas eficiente para no hacerles perder tanto tiempo. De ante mano muchas gracias.
Link del colega : Enviar archivo vía socket en Python 3 - Recursos Python
preguntas:
1. stream : bytes() ¿que esta haciendo especificamente?
2. chunk = sck.recv(expected_bytes - received_bytes) ¿Porque esta restanto una variable con otra?
3.stream += chunk ¿ Que intenta sumar?
4.received_bytes += len(chunk) ¿creo que hace algo parecido al punto 3. creo que es un tipo append?, pero no estoy seguro.
5. filesize = struct.unpack(fmt, stream)[0] ¿realmente no logro comprender por completo qe intenta hacer aqui, es decir, se que intenta decodificar con unpack pero no comprendo poque mezcla las dos varibales y el [0]
6.
Código:
def receive_file(sck: socket.socket, filename):
# Leer primero del socket la cantidad de
# bytes que se recibirán del archivo.
filesize = receive_file_size(sck)
# Abrir un nuevo archivo en donde guardar
# los datos recibidos.
with open(filename, "wb") as f:
received_bytes = 0 ¿PORQUE NUEVAMENTE ESTABLECE QUE ESTA VARIABLE VALE 0?
Quien sera tan buena gente para ayudarme con el codigo. al menos solo con el del servidor porque el del cliente lo comprendo al menos mejor.....