---
title: roSnmpAgent
slug: develop/es/rosnmpagent
docTags: 
createdAt: 2025-03-26T17:24:32.566Z
---

Cuando se crea este objeto, inicia un proceso SNMP que maneja algunos MIB SNMP estándar, como el tiempo de actividad del sistema. Antes de iniciar e&#x6C;*&#xA0;*&#x61;gente SNMP, puede registrar otros OID para su manejo. Puede establecerlos y recuperarlos tanto mediante un cliente SNMP como mediante el script.

Los valores OID son recuperados por un cliente SNMP sin interacción del script. Establecer valores OID generará un objeto *roSnmpEvent&#x20;*&#x71;ue indica que han sido modificados. El controlador de eventos del script puede entonces recuperar nuevos valores y realizar la acción apropiada.

Establecer un valor OID desde un cliente SNMP no bloquea al cliente esperando alguna acción del script; hay un retraso corto, pero indeterminado, para que los scripts actúen sobre un cambio de valor. Esto generalmente no es un problema debido a la forma en que están diseñados los MIB SNMP. Si desea proporcionar valores OID que se actualicen constantemente, puede actualizarlos utilizando un temporizador o cambios de estado.

El equivalente en JavaScript es net-snmp.

El objeto *roSnmpAgent&#xA0;*&#x73;e crea con un *roAssociativeArray* opcional:

:::hint{type="info"}
agent = CreateObject("roSnmpAgent")
:::

A partir de BrightSignOS 8.3.20, los parámetros predeterminados a continuación se pueden proporcionar durante la construcción del objeto. Tenga en cuenta que cuando tanto ro\_community como rw\_community están establecidos, deben ser valores únicos. De lo contrario, simplemente proporcione rw\_community:

- `ro_community` <font color="#6554c0">string</font> <font color="#00b8d9">optional</font>: Establece la cadena de comunidad de lectura.
- `rw_community` <font color="#6554c0">string</font> <font color="#00b8d9">optional</font>: Establece la cadena de comunidad de escritura.

## ifSnmpAgent

**AddOidHandler(oid\_string As String, writable\_flag As Boolean, initial\_value As Object) As Boolean**

Agrega un controlador OID con los siguientes parámetros al agente SNMP:

- `oid_string`: La cadena OID (p. ej., "1.3.6.1.4.1.26095.1.1.1.4.4.0"). Todas las cadenas OID deben ser numéricas.
- `writable_flag`: Un valor Boolean que indica si el valor puede ser cambiado por un cliente SNMP.
- `valor_inicial`: El valor inicial, que puede ser un *roString&#xA0;*&#x6F; *roInt*. El OID reflejará el tipo elegido aquí.


**GetOidValue(oid\_string As String) As Object**

Devuelve el valor actual (como roString o roInt) para un OID dado.

**SetOidValue(oid\_string As String, new\_value As Object) As Boolean**

Cambia el valor actual para un OID dado. El valor pasado puede ser un roString o roInt.

**Start() como booleano**

Inicia el agente SNMP. Llame a este método una vez que todos los controladores OID hayan sido registrados.

**Ejemplo**

```none
agent = CreateObject("roSnmpAgent")
agent.AddOidHandler("1.3.6.1.4.1.26095.1.1.1.4.4.0", false, "ValueOfOid")
agent.AddOidHandler("1.3.6.1.4.1.26095.1.1.1.4.5.0", true, 10)
agent.Start() 
```

## ifUserData

**SetUserData(user\_data As Object)**

Establece los datos de usuario que se devolverán cuando se generen eventos.

**GetUserData() como objeto**

Devuelve los datos de usuario que se establecieron previamente mediante SetUserData(). Devolverá Invalid si no se ha establecido ningún dato.

## ifMessagePort

**SetPort(port As roMessagePort)**

Publica mensajes de tipo *roSnmpEvent&#x20;*&#x65;n el puerto de mensajes adjunto.

