_Cuando el transmisor está en el proceso de transmitir un “frame” chequea cada bit transmitido. Si en un momento determinado aparecen 5 unos(1’s) consecutivos, se inserta un cero(0) extra después del quinto bit (A esto se le llama BitStufing) para evitar que se presente el patrón bandera.Por supuesto el receptor tiene que estar preparado para recibir este tipo de “stream”: tiene que chequear el “stream” de bits. Cuando detecta una bandera, empieza a recoger los caracteres que conforman un “frame”. Pero si dentro del “frame” encuentra 5 unos (1’s) consecutivos, debe chequear el siguiente bit:-Si es un 0, significa que recibió una bandera y por lo tanto que recibió el final del “frame”-Si es un 1, es una secuencia de 6 o más unos, que es prohibida en el protocolo y que por lo tanto implica un error y el “frame” es abortado completamente. El receptor inicia de nuevo la búsqueda del siguiente carácter bandera.
Entrada del transmisorLeerá por un archivo de tipo texto a ser transmitido. Este archivo podrá contener únicamente secuencia de caracteres ‘1’ y ‘0’ que representan los byte a ser transmitidos. El orden de los bit dentro del cada byte es de más a menos significativo.
Salida receptorEl archivo de salida deberá ser de tipo texto y contener los bytes transmitidos(expresados en secuencia de caracteres ‘1’ y ‘0’), cada uno con sus bits en orden de menos a más significativo.
Como consejo:Prueben todas las posibilidades que se les ocurra... hagan de cuenta que son un usuario que no tiene idea de computadores y hagan copn los archivos todas las barbaridades que se les ocurra...Eso es lo que hay que controlar.
Lo primero indica que si esta transmitiendo y encuentra 5 unos, despues del quiento bit en uno agrega un cero.Lo segundo, nos dice que en el receptor, si se reciben 5 unos, revisa el siguiente bit, si el siguiente bit despues de esos 5 unos es un cero entonces se descarta el cero y se continua leyendo los bIts, pero si es un uno es un error de protocolo porque el transmisor no pudo haber enviado más de 5 unos seguidos.Lo del 00111110 es solo que has tenido un poco de dificultad con la interpretacion de este fragmento, nunca se dice de ningun modo ni explicita ni implicitamente que la bandera sea esa.. la bander unicamente es 01111110.No estoy seguro si me he hecho entender, en todo caso si te quedan dudas me comentas, pues como ya te dije no hay ningun problema en preguntar.
Entradatransmisor: 00000000111100000101010100000000Salida transmisor: 011111100000000000001111001010100000000001111110Entrada receptor : 011111100000000000001111001010100000000001111110Salida receptor : 00000000111100000101010100000000
Como no se especifican los nombres de archivo de entrada, es necesario que los programas recibanel nombre de archivo desde consola, pero solo como argumento del ejecutable, ejemplo:c:executable entrada.txtLa salida en ambos casos es por pantalla.
...tenga en cuenta que el último frame puede ser de menos de 128 bit, puede asumir que el tamaño del archivo de entrada es múltiplo de 8.