---
title: roDatagramReceiver
slug: develop/es/rodatagramreceiver
docTags: 
createdAt: 2025-03-11T07:07:18.732Z
---

:::hint{type="danger"}
Este objeto puede recibir paquetes multicast, pero no tiene una forma de unirse explícitamente a un grupo multicast. Por lo tanto, este objeto no es adecuado para uso multicast. Use [roDatagramSocket](docId:-3c-g79pxVZdcZIFSNpgA) para la recepción multicast.
:::

Este objeto envía instancias de *roDatagramEvent* a un puerto de mensajes cuando se reciben paquetes UDP en un puerto especificado. El equivalente en JavaScript es la API Dgram de Node.js.

Creación del objeto: El objeto *roDatagramReceiver* se crea con un parámetro `puerto` que especifica el puerto en el que se recibirán paquetes UDP.

```text
CreateObject("roDatagramReceiver ", port As Integer)
```

## ifUserData

### SetUserData(user\_data As Object)

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

### GetUserData() As Object

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

## ifIdentity

### GetIdentity() As Integer

:::hint{type="info"}
La interfaz *ifIdentity* ha quedado obsoleta. Recomendamos usar la interfaz *ifUserData* en su lugar.
:::

## ifMessagePort

### SetPort(port As roMessagePort)

Publica mensajes de tipo *roDatagramEvent* en el puerto de mensajes adjunto.

Este script de ejemplo escucha paquetes UDP en el puerto 21075:

```text
receiver = CreateObject("roDatagramReceiver", 21075)
mp = CreateObject("roMessagePort")
receiver.SetPort(mp)
while true
       event = mp.WaitMessage(0)
       if type(event) = "roDatagramEvent" then
             print "Datagram: "; event
       endif
end while
```

