---
title: roTCPStream
slug: develop/es/rotcpstream
docTags: 
createdAt: 2025-03-26T17:39:57.111Z
---

El equivalente en JavaScript es net.socket.

## ifStreamReceive

**SetLineEventPort(messagePort As Object)**

Establece el puerto de mensajes al que se publicarán los eventos roStreamLineEvent.

**SetByteEventPort(messagePort As Object)**

Establece el puerto de mensajes al que se publicarán los eventos roStreamByteEvent.

**SetByteArrayEventPort(messagePort As Object)**

Este método funciona como SetByteEventPort, pero hace que los mensajes roStreamByteArrayEvent se publiquen en el puerto de mensajes cuando se reciben datos. Para algunos tipos de objetos (por ejemplo, roTCPStream), esto puede ser mucho más eficiente, ya que los datos ya no necesitan entregarse a BrightScript un byte a la vez.

**SetReceiveEol(messagePort como String o roByteArray)**

Establece la secuencia que indicará el final de línea y hará que se entregue un *roStreamLineEvent* al puerto de mensajes establecido por *SetLineEventPort*. Si necesita establecer este valor en un carácter no imprimible, utilice la función chr() [función global](docId:8ViuBcC3f1MPXOoS0i8yf) o un *roByteArray*. Si la secuencia contiene bytes NUL, debe pasarse como un *roByteArray* ya que las cadenas no pueden contener bytes NUL.

Para usar un byte NUL como terminador de línea:

```none
eol = CreateObject("roByteArray")
eol.Push(0)
mp = CreateObject("roMessagePort")
client = CreateObject("roTCPStream")
client.SetReceiveEol(eol)
client.SetLineEventPort(mp)
```

**SetMatcher(matcher As Object) As Boolean**

Indica al flujo que utilice el matcher especificado. Este objeto devuelve `Verdadero` si se realiza correctamente. Pase `Inválido` a este método para dejar de utilizar el matcher especificado.

## 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.

## ifStreamSend

**SetSendEol(eol\_sequence As String) As Void**

Establece la secuencia EOL al escribir en el flujo. El valor predeterminado es CR (valor ASCII 13). Si necesita establecer este valor en un carácter no imprimible, utilice la función global `chr()`.

**SendByte(byte As Integer) As Void**

Escribe el byte especificado en el flujo.

**SendLine(string As String) As Void**

Escribe los caracteres especificados en el flujo seguidos de la secuencia EOL actual.

**SendBlock(a As Dynamic) As Void**

Escribe los caracteres especificados en el flujo. Este método puede admitir tanto una cadena como un roByteArray. Si el bloque es una cadena, cualquier byte nulo terminará el bloque.

**Flush()**

## ifTCPStream

**GetFailureReason() como cadena**

Proporciona información útil adicional si falla un método de roTCPStream.

**ConnectTo(a As String, b As Integer) As Boolean**

Conecta el flujo al host especificado (designado mediante una cuádrupla con puntos) y al puerto. La función devuelve `Verdadero` cuando se realiza correctamente.

**Accept(a As Object) As Boolean**

Acepta un evento de conexión entrante. La función devuelve True cuando se realiza correctamente.

**AsyncConnectTo(a As String, b As Integer) As Boolean**

Intenta conectar el flujo al host especificado (designado mediante una cuádrupla con puntos) y al puerto. La función devuelve `Falso` si esta acción es inmediatamente imposible (por ejemplo, cuando el host especificado no tiene el formato correcto). De lo contrario, la función devuelve `Verdadero` cuando se realiza correctamente. La conexión continúa en segundo plano y se publica un [roStreamConnectResultEvent](docId\:TR-hRI4kQTBSmqnfkA1B4) cuando el intento de conexión tiene éxito o falla, en el puerto de mensajes establecido mediante `SetLineEventPort()` o  `SetByteEventPort()`.

