---
title: networkdiagnostics
slug: develop/es/networkdiagnostics
docTags: 
createdAt: 2025-03-26T14:45:31.685Z
---

El objeto *networkdiagnostics&#x20;*&#x6C;e permite recuperar información sobre interfaces de red y conectividad a Internet.

**IDL de networkdiagnostics**

```javascript
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*.

```javascript
var NetworkDiagnosticsClass = require("@brightsign/networkdiagnostics");
var networkDiag = new NetworkDiagnosticsClass();
```

## NetworkDiagnostics

Use esta interfaz para recuperar información de diagnóstico.

:::hint{type="danger"}
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()**

```javascript
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()**

```javascript
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()**

```javascript
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()**

```javascript
Promise<InterfaceTestResult> traceroute(String host_name, TraceRouteConfig config)
```

**Para uso interno de BrightSign. El comportamiento está sujeto a cambios sin previo aviso.&#x20;**

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&#x20;
- `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&lt;ProtocolPingResult&gt;:</font>
- `ipv6` <font color="#6554c0">Array&lt;ProtocolPingResult&gt;:</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&#x20;*&#x79; registra datos de diagnóstico de Internet en la consola:

```javascript
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));
        });
```

