networkdiagnostics
11 min
el objeto networkdiagnostics le permite recuperar información sobre interfaces de red y conectividad a internet idl de networkdiagnostics interface networkdiagnostics { promise\<networkdiagnosticsresult> testinternetconnectivity() promise\<networkdiagnotsticsresult> testnetworkinterface(string interface name) promise\<pingresult> ping(string host name, pingconfig config) promise\<tracerouteresult> traceroute(string host name, tracerouteconfig config) //< for brightsign internal use behaviour subject to change without notice }; interface interfacetestresult { string diagnosis; bool ok; array\<log> log; }; interface log { string name; bool pass; string result; array\<string> info; //< for brightsign internal use behaviour subject to change without notice }; interface pingconfig { unsigned? short count; // default 10 unsigned long? interval; // in milliseconds, default 100 unsigned long? timeout; // in seconds, default 10000 unsigned long? packetsize; // in bytes, default 56 bool? ipv4; // enable pinging ipv4 addresses, default true bool? ipv6; // enable pinging ipv6 addresses, default false bool? alladdresses; // if true then ping all addresses returned from dns query, // if false then each will be pinged in turn until one responds, default false }; interface pingresult { string hostname; // host name or literal address pinged pingresults results; }; interface pingresults { bool up; // true if at least one address responded to at least 50% of the echo requests array\<protocolpingresult>? ipv4; array\<protocolpingresult>? ipv6; }; interface protocolpingresult { string address; // ip address pinged bool up; // true if the address responded to at least 50% of the echo requests protocolpingreport report; }; interface protocolpingreport { unsigned short transmitted; // number of echo requests sent unsigned short received; // number of echo replies received protocolpingstats stats; }; interface protocolpingstats { unsigned long quickest; // quickest reply received unsigned long average; // average time across all replies from address unsigned long slowest; // slowest reply received string units; // always "us" to indicate microseconds }; creación de objetos para crear un objeto networkdiagnostics , primero cargue el módulo brightsign/networkdiagnostics usando el método require() luego cree una instancia de la clase networkdiagnostics var networkdiagnosticsclass = require("@brightsign/networkdiagnostics"); var networkdiag = new networkdiagnosticsclass(); networkdiagnostics use esta interfaz para recuperar información de diagnóstico el método testinternetconnectivity() genera una gran cantidad de tráfico de red (por ejemplo, búsquedas dns) que puede degradar el rendimiento de un reproductor, crear congestión de red o ser percibido como abusivo por el proveedor dns ascendente de la red este método está pensado para un solo uso para validar la conectividad de red o diagnosticar un problema sospechado testinternetconnectivity() promise\<interfacetestresult> testinternetconnectivity() realiza varias pruebas en la conexión a internet (a través de cualquier interfaz de red disponible) para determinar si parece estar funcionando correctamente este método devuelve una interfaz resultadodepruebadeinterfaz cuando se completan los diagnósticos testnetworkinterface() promise\<interfacetestresult> testnetworkinterface(string interface name) realiza pruebas en la interfaz de red especificada para determinar si parece estar funcionando correctamente los valores de nombre de interfaz son los mismos que los utilizados con el objeto ronetworkconfiguration docid\ nb5kguphymfjugcngukrt este método devuelve una interfaz resultadodepruebadeinterfaz cuando se completan los diagnósticos ping() promise\<pingresult> ping(string host name, pingconfig config) hace ping a un dispositivo con el host name especificado para determinar si hay problemas de conexión traceroute() promise\<interfacetestresult> traceroute(string host name, tracerouteconfig config) para uso interno de brightsign el comportamiento está sujeto a cambios sin previo aviso realiza un diagnóstico traceroute estándar en el host name especificado interfacetestresult esta interfaz contiene resultados de diagnóstico diagnóstico \<font color="#6554c0">string\</font> un diagnóstico de una sola línea del primer problema identificado con la interfaz de red o la conexión a internet ok \<font color="#6554c0"> bool\</font> indica si la interfaz de red o la conexión a internet pasó las pruebas de diagnóstico registro \<font color="#6554c0">log\</font> un objeto log que contiene información de diagnóstico relacionada con la interfaz de red o la conexión a internet log esta interfaz contiene una lista de registros de diagnóstico cada registro contiene los siguientes atributos nombre \<font color="#6554c0">string\</font> una descripción del diagnóstico aprobar \<font color="#6554c0">bool\</font> si el diagnóstico fue exitoso resultado \<font color="#6554c0">string\</font> una descripción del resultado del diagnóstico información \<font color="#6554c0">stringlist\</font> una lista de cadenas que contiene datos de diagnóstico pingconfig esta interfaz no se recomienda a menos que esté utilizando brightsign os v8 3 45 o posterior contar \<font color="#6554c0">unsigned short\</font> el valor predeterminado es 10 intervalo \<font color="#6554c0">unsigned long\</font> el valor del intervalo en milisegundos el valor predeterminado es 100 tiempo de espera \<font color="#6554c0">unsigned long\</font> el valor de tiempo de espera en segundos el valor predeterminado es 10000 packetsize \<font color="#6554c0">unsigned long\</font> el tamaño del paquete en bytes el valor predeterminado es 56 ipv4 \<font color="#6554c0">bool\</font> habilita el ping de direcciones ipv4 el valor predeterminado es verdadero ipv6 \<font color="#6554c0">bool\</font> habilita el ping de direcciones ipv6 el valor predeterminado es verdadero alladdresses \<font color="#6554c0"> bool \</font> si es verdadero entonces se hará ping a todas las direcciones devueltas por la consulta dns si es falso , entonces se hará ping a cada una por turno hasta que una responda el valor predeterminado es falso pingresult esta interfaz no se recomienda a menos que esté utilizando brightsign os v8 3 45 o posterior nombre de host \<font color="#6554c0">string\</font> el nombre de host o dirección literal a la que se hizo ping resultados \<font color="#6554c0">pingresults\</font> pingresults esta interfaz no se recomienda a menos que esté utilizando brightsign os v8 3 45 o posterior arriba \<font color="#6554c0">bool \</font> este valor es verdadero si al menos una dirección respondió al menos al 50 % de las solicitudes echo ipv4 \<font color="#6554c0">array\<protocolpingresult\> \</font> ipv6 \<font color="#6554c0">array\<protocolpingresult\> \</font> protocolpingresult esta interfaz no se recomienda a menos que esté utilizando brightsign os v8 3 45 o posterior dirección \<font color="#6554c0">string\</font> la dirección ip a la que se hizo ping activo \<font color="#6554c0">bool\</font> si es verdadero , la dirección respondió al menos al 50 % de las solicitudes de eco informe \<font color="#6554c0">protocolpingreport \</font> protocolpingreport esta interfaz no se recomienda a menos que esté utilizando brightsign os v8 3 45 o posterior transmitido \<font color="#6554c0">unsigned short\</font> la cantidad de solicitudes de eco enviadas recibido \<font color="#6554c0">unsigned short\</font> la cantidad de respuestas de eco recibidas estadísticas \<font color="#6554c0">protocolpingstats \</font> protocolpingstats esta interfaz no se recomienda a menos que esté utilizando brightsign os v8 3 45 o posterior más rápido \<font color="#6554c0">unsigned long\</font> la respuesta más rápida recibida promedio \<font color="#6554c0">unsigned long\</font> el tiempo promedio entre todas las respuestas de la dirección más lento \<font color="#6554c0">unsigned long\</font> la respuesta más lenta recibida unidades \<font color="#6554c0">string\</font> el valor siempre es "us", para indicar microsegundos ejemplo el siguiente script crea una instancia de networkdiagnostics y registra datos de diagnóstico de internet en la consola var networkdiagnosticsclass = require("@brightsign/networkdiagnostics"); var nd = new networkdiagnosticsclass(); nd testinternetconnectivity() then( function(data) { console log(json stringify(data)); }) catch( function(data) { console log(json stringify(data)); });