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 |
& |
& |
< |
< |
> |
> |
“ |
" |
' |
' |
\n |
|
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
¢ ni
¢ 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.