Actualizaciones de estado
Al modificar un control, el dispositivo responde con un bloque que contiene solamente los cambios
realizados. Por ejemplo, al cambiar la densidad de la máscara, el dispositivo enviará el
siguiente mensaje:
CONTROL:
↵
Matte Density: 0
↵
↵
Si se realizan diversos cambios, la actualización incluirá varios elementos:
CONTROL:
↵
Matte Density: 0
↵
Red Density: 0
↵
↵
Solicitud de cambio
Para realizar un cambio, el cliente debe enviar un bloque similar al que envía el dispositivo cuando
ocurre una modificación. Por ejemplo, para cambiar la densidad de la máscara a 100, es preciso
enviar el siguiente bloque:
CONTROL:
↵
Matte Density: 100
↵
↵
El bloque debe finalizar con una línea en blanco. A continuación, el dispositivo responderá del
siguiente modo para confirmar la solicitud:
ACK
↵
↵
Si no ha comprendido la solicitud, responderá de la siguiente manera:
NAK
↵
↵
Cada vez que se obtenga una respuesta positiva, el servidor debería mostrar una actualización con
el cambio de estado. Esta probablemente sea igual al comando enviado. No obstante, si la solicitud
no fue comprendida, o si otros clientes efectuaron cambios simultáneamente, es posible que el
bloque contenga actualizaciones adicionales. Cabe destacar que una modificación podría anular el
efecto de otra realizada al mismo tiempo, lo cual generaría una respuesta diferente de la esperada.
Si no existen actualizaciones simultáneas, el diálogo correspondiente a un simple cambio sería el
siguiente:
CONTROL:
↵
Matte Density: 0
↵
↵
ACK
↵
↵
CONTROL:
↵
Matte Density: 0
↵
↵
Debido a que las respuestas no son sincrónicas, se aconseja no dar por sentado que una
actualización efectivamente se producirá. Por el contrario, se recomienda estar alerta a las nuevas
actualizaciones de estado del dispositivo y utilizarlas para actualizar su estado.
Asimismo, es posible indicar un valor específico para cambiar un control. Por ejemplo, para
modificar la densidad de la máscara, es preciso enviar el siguiente bloque:
315315Información para desarrolladores