networkdiagnostics
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 . 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 String: Un diagnóstico de una sola línea del primer problema identificado con la interfaz de red o la conexión a Internet
- ok bool: Indica si la interfaz de red o la conexión a Internet pasó las pruebas de diagnóstico
- registro Log: 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 String: Una descripción del diagnóstico
- aprobar bool: Si el diagnóstico fue exitoso
- resultado String: Una descripción del resultado del diagnóstico
- información StringList: 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 unsigned short: El valor predeterminado es 10.
- intervalo unsigned long: El valor del intervalo en milisegundos. El valor predeterminado es 100.
- tiempo de espera unsigned long: El valor de tiempo de espera en segundos. El valor predeterminado es 10000.
- packetsize unsigned long: El tamaño del paquete en bytes. El valor predeterminado es 56.
- ipv4 bool: Habilita el ping de direcciones IPv4. El valor predeterminado es verdadero.
- ipv6 bool: Habilita el ping de direcciones IPv6. El valor predeterminado es verdadero.
- allAddresses bool: 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 String: El nombre de host o dirección literal a la que se hizo ping.
- resultados PingResults:
PingResults
Esta interfaz no se recomienda a menos que esté utilizando BrightSign OS v8.3.45 o posterior.
- arriba bool: Este valor es verdadero si al menos una dirección respondió al menos al 50 % de las solicitudes echo.
- ipv4 Array<ProtocolPingResult>:
- ipv6 Array<ProtocolPingResult>:
ProtocolPingResult
Esta interfaz no se recomienda a menos que esté utilizando BrightSign OS v8.3.45 o posterior.
- dirección string: La dirección IP a la que se hizo ping
- activo bool: Si es verdadero, la dirección respondió al menos al 50 % de las solicitudes de eco
- informe ProtocolPingReport:
ProtocolPingReport
Esta interfaz no se recomienda a menos que esté utilizando BrightSign OS v8.3.45 o posterior.
- transmitido unsigned short: La cantidad de solicitudes de eco enviadas
- recibido unsigned short: La cantidad de respuestas de eco recibidas
- estadísticas ProtocolPingStats:
ProtocolPingStats
Esta interfaz no se recomienda a menos que esté utilizando BrightSign OS v8.3.45 o posterior.
- más rápido unsigned long: La respuesta más rápida recibida
- promedio unsigned long: El tiempo promedio entre todas las respuestas de la dirección
- más lento unsigned long: La respuesta más lenta recibida
- unidades string: 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));
});