fallos (#4) - Fallo al consultar el estado de los equipos de un aula (#281) - Message List

Fallo al consultar el estado de los equipos de un aula
 unsolved

Hola. Tengo instalada la versión 1.0.6 y he observado en ocasiones que de alguno de los equipos de un aula no es capaz de recuperarse su estado correcto, apareciendo siempre en gris. Es decir, como si el cliente no tuviera el agente corriendo y no pudiera comunicarse con el servidor. Los equipos con estado erróneo siempre eran alguno cuya IP podía estar contenida en una búsqueda dentro de otra mayor. Por ejemplo, 10.23.123.1 estaría contenida dentro de 10.23.123.13. Esto no impide que se pueda operar correctamente con el equipo cliente, de igual modo que con el resto de equipos del aula que si aparecen con el estado correcto.

Investigando un poco he visto que el código de la página sondeo.php se comunica con el servicio ogAdmServer (Hidra) del siguiente modo: el script le envía los identificadores y las IP de todos los equipos del aula y espera una respuesta donde debe constar las IP y el estado de aquellos equipos activos. Para cada ejecución de sondeo.php se realizada la siguiente consulta a la base de datos: SELECT ip,mac,nombreordenador,idordenador FROM ordenadores WHERE idaula=X AND grupoid=Y Esta consulta puede devolver o no los equipos ordenados por IP, dependiendo de como se hayan introducido en la base de datos.

Revisando el código para el servicio Hidra he visto que la función contieneIP de ogAdmLib.c realiza la búsqueda de una IP en una lista, contentándose con la primera que satisfaga la comparación textual y no prosiguiendo en caso de que la IP encontrada no sea la buscada. Es decir, para el ejemplo anterior podría encontrar primero 10.23.123.13 para la búsqueda de 10.23.123.1 y como no son iguales y no continua la búsqueda en la lista, deduciría erróneamente de ello que el equipo no está operativo.

Attachments

No attachments created.