PacketPeer

Inherits: Reference < Object

Inherited By: NetworkedMultiplayerPeer, PacketPeerDTLS, PacketPeerGDNative, PacketPeerStream, PacketPeerUDP, WebRTCDataChannel, WebSocketPeer

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

Descripción

PacketPeer es una clase de abstracción y base para protocolos basados en paquetes (como UDP). Proporciona una API para el envío y la recepción de paquetes tanto como datos en bruto o variables. Esto facilita la transferencia de datos a través de un protocolo, sin tener que codificar los datos como bytes de bajo nivel o tener que preocuparse por el ordenamiento de la red.

Propiedades

bool

allow_object_decoding

false

int

encode_buffer_max_size

8388608

Métodos

int

get_available_packet_count ( ) const

PoolByteArray

get_packet ( )

Error

get_packet_error ( ) const

Variant

get_var ( bool allow_objects=false )

Error

put_packet ( PoolByteArray buffer )

Error

put_var ( Variant var, bool full_objects=false )

Descripciones de Propiedades

  • bool allow_object_decoding

Default

false

Setter

set_allow_object_decoding(value)

Getter

is_object_decoding_allowed()

Deprecated. Use get_var and put_var parameters instead.

If true, the PacketPeer will allow encoding and decoding of object via get_var and put_var.

Warning: Deserialized objects can contain code which gets executed. Do not use this option if the serialized object comes from untrusted sources to avoid potential security threats such as remote code execution.


  • int encode_buffer_max_size

Default

8388608

Setter

set_encode_buffer_max_size(value)

Getter

get_encode_buffer_max_size()

Tamaño máximo de la memoria intermedia permitido al codificar las Variants. Aumente este valor para soportar asignaciones de memoria más pesadas.

El método put_var asigna memoria en la pila, y el búfer utilizado crecerá automáticamente hasta la potencia más cercana a dos para igualar el tamaño de la Variant. Si la Variant es más grande que encode_buffer_max_size, el método dará un error con @GlobalScope.ERR_OUT_OF_MEMORY.

Descripciones de Métodos

  • int get_available_packet_count ( ) const

Devuelve el número de paquetes actualmente disponibles en el ring-buffer.


Recibe un paquete crudo.


  • Error get_packet_error ( ) const

Devuelve el estado de error del último paquete recibido (a través de get_packet y get_var).


Gets a Variant. If allow_objects (or allow_object_decoding) is true, decoding objects is allowed.

Warning: Deserialized objects can contain code which gets executed. Do not use this option if the serialized object comes from untrusted sources to avoid potential security threats such as remote code execution.


Envía un paquete crudo.


Sends a Variant as a packet. If full_objects (or allow_object_decoding) is true, encoding objects is allowed (and can potentially include code).