IIC2233 / Syllabus-2022-1

Repositorio oficial del curso IIC2233 Programación Avanzada 🚀✨
https://iic2233.ing.puc.cl/
45 stars 40 forks source link

Codificiación #238

Open SrGuspin opened 2 years ago

SrGuspin commented 2 years ago

Prerrequisitos

(Marcar colocando una X entre los corchetes los ítems que ya hiciste, así: "[X]")

Holi! Tengo varias dudas respecto a la codificación del mensaje recibido del cliente en el servidor.

1- Los 4 bytes estan incluidos en los 22 bytes del bloque o solo determinan la longitud de este? 2- De los 22 bytes, si el primero es b'\x 01' hay que considerar el segundo byte? porque al ser un mensaje completo solo serian 21 bytes y al ser incompleto estaria decidido la longitud por el segundo byte, no? 3- los bytes que anteponen al bloque hay que ordenarlos que indican el numero de bloque, hay que ordenarlo de menor a mayor o van de forma creciente?

Gracias de antemano!

drcid98 commented 2 years ago

Hola!

  1. Si te refieres a los 4 bytes que indican el número de bloque, estos deben ir antes de los 22 bytes que mencionaste, no incluidos en estos.
  2. Si, hay que considerarlo. En general tendrás que el primer byte será b'\x 01' siempre excepto en el último bloque, en caso de que este no se encuentre completo. El segundo byte debe ir igual porque así todos los bloques tienen el mismo formato, a pesar de que lo que dices es verdad.
  3. No se si entendí muy bien (si no lo hice, por favor te pido un poco más de explicación) porque "de menor a mayor" y "de forma creciente" creo que significan lo mismo. De todas formas, por poner un ejemplo, si tuvieras 3 bloques en total, los bytes que los anteponen deberían ser 0, 1 y 2, en ese orden.
SrGuspin commented 2 years ago

A lo que me refiero en la tercera pregunta es como los 4 bytes indican el numero de bloque estos podrian inr 2, 0, 1 y posteriormente ordenarlos o el hecho de que el mensaje este cambiado va es de la parte de encriptacion?

drcid98 commented 2 years ago

Aaaah, entiendo. Mira, el único momento en que se "cambia el orden" de algo relacionado al mensaje es en la encriptación, cuando codificas se deben enviar los bloques en orden, por lo tanto deberían ir siempre siguiendo el orden: 0, 1, 2, etc.

SrGuspin commented 2 years ago

comprendo, muchas gracias!! uwu