StreamPeer

Inherits: Reference < Object

Inherited By: StreamPeerBuffer, StreamPeerGDNative, StreamPeerSSL, StreamPeerTCP

Abstracción y clase base para protocolos basados en streams.

Descripción

StreamPeer is an abstraction and base class for stream-based protocols (such as TCP). It provides an API for sending and receiving data through streams as raw data or strings.

Propiedades

bool

big_endian

false

Métodos

int

get_16 ( )

int

get_32 ( )

int

get_64 ( )

int

get_8 ( )

int

get_available_bytes ( ) const

Array

get_data ( int bytes )

float

get_double ( )

float

get_float ( )

Array

get_partial_data ( int bytes )

String

get_string ( int bytes=-1 )

int

get_u16 ( )

int

get_u32 ( )

int

get_u64 ( )

int

get_u8 ( )

String

get_utf8_string ( int bytes=-1 )

Variant

get_var ( bool allow_objects=false )

void

put_16 ( int value )

void

put_32 ( int value )

void

put_64 ( int value )

void

put_8 ( int value )

Error

put_data ( PoolByteArray data )

void

put_double ( float value )

void

put_float ( float value )

Array

put_partial_data ( PoolByteArray data )

void

put_string ( String value )

void

put_u16 ( int value )

void

put_u32 ( int value )

void

put_u64 ( int value )

void

put_u8 ( int value )

void

put_utf8_string ( String value )

void

put_var ( Variant value, bool full_objects=false )

Descripciones de Propiedades

Default

false

Setter

set_big_endian(value)

Getter

is_big_endian_enabled()

Si true, este StreamPeer usará el formato big-endian para codificar y decodificar.

Descripciones de Métodos

  • int get_16 ( )

Obtiene un valor con signo de 16 bits del stream.


  • int get_32 ( )

Obtiene un valor con signo de 32 bits del stream.


  • int get_64 ( )

Obtiene un valor con signo de 64 bits del stream.


  • int get_8 ( )

Obtiene un byte con signo del stream.


  • int get_available_bytes ( ) const

Devuelve la cantidad de bytes que este StreamPeer tiene disponible.


Devuelve un trozo de datos con los bytes recibidos. La cantidad de bytes a recibir puede solicitarse en el argumento bytes. Si no hay suficientes bytes disponibles, la función se bloqueará hasta que se reciba la cantidad deseada. Esta función devuelve dos valores, un código Error y una array de datos.


Consigue un real de double-precision del stream.


Consigue un real de single-precision del stream.


Devuelve un trozo de datos con los bytes recibidos. La cantidad de bytes a recibir puede ser solicitada en el argumento "bytes". Si no hay suficientes bytes disponibles, la función devolverá cuántos se han recibido realmente. Esta función devuelve dos valores, un código Error, y una array de datos.


Obtiene una cadena con longitud de bytes bytes de la corriente. Si bytes es negativo (por defecto) la longitud se leerá de la corriente usando el proceso inverso de put_string.


  • int get_u16 ( )

Obtiene un valor de 16 bits sin signo de la corriente.


  • int get_u32 ( )

Obtiene un valor de 32 bits sin signo del stream.


  • int get_u64 ( )

Obtiene un valor de 64 bits sin signo del stream.


  • int get_u8 ( )

Obtiene un byte sin signo del stream.


Obtiene una cadena UTF-8 con longitud de bytes bytes del flujo (esto decodifica la cadena enviada como UTF-8). Si bytes es negativo (por defecto) la longitud será leída desde la corriente usando el proceso inverso de put_utf8_string.


Obtiene una Variante del stream. Si allow_objects es true, se permite la decodificación de objetos.

Advertencia: Los objetos deserializados pueden contener código que se ejecuta. No utilice esta opción si el objeto serializado proviene de fuentes no fiables para evitar posibles amenazas a la seguridad, como la ejecución remota de código.


  • void put_16 ( int value )

Pone un valor con signo de 16 bits en el stream.


  • void put_32 ( int value )

Pone un valor con signo de 32 bits en el stream.


  • void put_64 ( int value )

Pone un valor con signo de 64 bits en el stream.


  • void put_8 ( int value )

Pone un byte con signo en el stream.


Envía un trozo de datos a través de la conexión, bloqueando si es necesario hasta que se termine de enviar los datos. Esta función devuelve un código Error.


  • void put_double ( float value )

Pone un real de double-precision en el stream.


  • void put_float ( float value )

Pone un real de single-precision en el stream.


Envía un trozo de datos a través de la conexión. Si no se pudieron enviar todos los datos a la vez, sólo una parte de ellos lo hará. Esta función devuelve dos valores, un código Error y un entero, que describe cuántos datos se enviaron realmente.


  • void put_string ( String value )

Puts a zero-terminated ASCII string into the stream prepended by a 32-bit unsigned integer representing its size.

Note: To put an ASCII string without prepending its size, you can use put_data:

put_data("Hello world".to_ascii())

  • void put_u16 ( int value )

Pone un valor de 16 bits sin signo en el stream.


  • void put_u32 ( int value )

Pone un valor de 32 bits sin signo en el stream.


  • void put_u64 ( int value )

Pone un valor de 64 bits sin signo en stream.


  • void put_u8 ( int value )

Pone un byte sin signo en el stream.


  • void put_utf8_string ( String value )

Puts a zero-terminated UTF-8 string into the stream prepended by a 32 bits unsigned integer representing its size.

Note: To put an UTF-8 string without prepending its size, you can use put_data:

put_data("Hello world".to_utf8())

  • void put_var ( Variant value, bool full_objects=false )

Pone una Variant en el stream. Si full_objects es true se permite la codificación de objetos (y potencialmente puede incluir código).