netaneldj / 7542-Taller-TP3

0 stars 0 forks source link

Te mataste con algo que pudo haber sido muy simple (y mezclaste protocolo con comando) #9

Closed fedemgp closed 4 years ago

fedemgp commented 4 years ago

https://github.com/netaneldj/tp3/blob/09900b629f68e034133a1ad6aab25e83145d10a7/common_CommandNumber.cpp#L12-L27

int num = std::stoi(message);
if (num < 100 || num > 999){
 // error
}
protocol.send(skt, 'n');
protocol.send(skt, num); // internamente, se hace un htons para cambiar endiannes
netaneldj commented 4 years ago

https://github.com/netaneldj/tp3/blob/09900b629f68e034133a1ad6aab25e83145d10a7/common_CommandNumber.cpp#L12-L27

int num = std::stoi(message);
if (num < 100 || num > 999){
 // error
}
protocol.send(skt, 'n');
protocol.send(skt, num); // internamente, se hace un htons para cambiar endiannes

Estaría mal que el comando se encargue de traducir su mensaje y luego lo pueda enviar o recibir? Yo lo estoy pensando como que el comando es un mensaje en particular. Entonces el protocolo utiliza el"CommandFactory" para obtener comando correspondiente, lo inicializa con el mensaje a enviar y luego lo envía. Dentro de cada comando se construirá el mensaje en el formato protocolo correspondiente como hice acá