Codificación de datos de socket

El cliente de socket codifica los datos que se envían al agente.

Es importante ser consciente de cómo el cliente de socket codifica los datos que se envían al agente.

Caracteres especiales

Los datos enviados al agente no deben contener ningún carácter de salto de línea, a excepción del final de cada ejemplo de suceso o de datos. Los caracteres de nueva línea que aparecen dentro de valores de atributo deben sustituirse por un carácter o codificación diferente tal como se muestra en la Tabla 1. También debe tener cuidado de no interrumpir la sintaxis XML con valores de atributos. La tabla siguiente muestra los caracteres que aparecen en los valores de atributo que se codifican:
Tabla 1. Caracteres a codificar en valores de atributo
Carácter Cabecera
& &
< &lt;
> &gt;
&quot;
' &apos;
\n &#10;
Nota: El agente utiliza el carácter de salto de línea para separar las respuestas recibidas de un cliente. Los caracteres de línea nueva inesperados impiden analizar los datos correctamente.
El agente no contiene un analizador XML completo, por lo que no debe utilizar codificación especial para caracteres que no se encuentran en la Tabla 1. Por ejemplo, no codifique &#162; ni &cent en lugar de un signo de centavos ¢.

Juegos de caracteres

Además de codificar los caracteres especiales, el agente debe saber qué página de código se ha utilizado para codificar los datos. Defina cada grupo de atributos de socket para indicar si envía los datos al agente como datos UTF-8 o como Página de códigos local. Tenga presente cómo está enviando datos su cliente. Si utiliza un cliente que está escrito en Java™, especifique UTF-8 como la codificación en el grabador que utilice para enviar datos al agente. Especifique UTF-8 como Página de códigos para el grupo de atributos. Página de códigos local indica la página de códigos local del agente. Si los datos se envían por un socket remoto, debe ajustarse a la página de códigos local del agente o utilizar UTF-8.

Datos numéricos

Tenga presente cómo está formateando los valores de atributos numéricos. Los valores numéricos que envíe al agente no deben contener ningún carácter especial. Un ejemplo es el carácter separador de millares. Otros ejemplos son los símbolos de moneda o los caracteres que describen las unidades del valor. Si el agente encuentra un problema cuando está analizando datos numéricos, registra un error que indica el problema. El Código de error de estatus de objeto de rendimiento no se establece cuando falla el análisis de un atributo. A continuación se muestra un mensaje de error de ejemplo del registro del agente:
(4D3F1FD6.0021-9:utilities.cpp,205,"parseNumericString") Caracteres no válidos :00:04 \
encontrados al obtener el valor numérico desde 00:00:04, que devuelve 0.000000
Nota: Para obtener información sobre cómo el atributo de indicación de fecha y hora debe estar formateado, consulte Indicación de fecha y hora.