IIC2333 / foro-2019-1

Foro oficial del curso IIC2333 - Sistemas Operativos y Redes, semestre 2019-1.
2 stars 0 forks source link

Error Bad Package #139

Closed jmwielandt closed 5 years ago

jmwielandt commented 5 years ago

Hola, Quería saber si el paquete de ID 18 también debe ser usado en caso de responder con un ID que no corresponde (por ejemplo, si el servidor está esperando el nickname de un cliente y este le responde con un paquete de ID 10, debe retornar el paquete 18)?

Gracias.

(Como no es un ID desconocido o un paquete mal construido...)

nivek0o0 commented 5 years ago

Hola @jmwielandt

sí, el ErrorBadPackage debe ser usado en la situación que describes. También debe ser usado cuando el paquete dice un PayloadSize distinto a los bytes que efectivamente llegaron en el Payload. Ambas situaciones se considera como paquetes mal construidos.

Acabo de actualizar los ejecutables en la página para que tengan este mismo comportamiento!

Hint: La función recv retorna cuandos bytes efectivamente leyó del socket.

jmwielandt commented 5 years ago

Muchas gracias!

Y el cliente puede responderle al servidor con un ID 18? ~~Por ejemplo, que el cliente le mande su nickname con ID 3, y luego el servidor le responda con otro nickname con ID 4 🤔 ¿O en ese caso tendría que mandar de nuevo su nickname con ID 3?~~ (edit: leí terriblemente mal)

Gracias!

lukassr commented 5 years ago

Sí, es válido también que el cliente pueda ocupar ese ID si es que el servidor le envía o un ID desconocido o un paquete no implementado.

Saludos!

acrojas2 commented 5 years ago

¿Que se hace luego alguno recibe un ID 18? Saludos!

nivek0o0 commented 5 years ago

Hola, eso queda a criterio de ustedes, pero deben especificarlo en el readme!