跳到主要内容

PacketPeer

继承

Reference

简要描述

基于数据包的协议的抽象和基类。

描述

PacketPeer是基于数据包的协议(例如UDP)的抽象和基类。

成员

类型属性名默认值
boolallow_object_decodingfalse
intencode_buffer_max_size8388608

方法

返回值类型方法名称
intget_available_packet_count() const
PoolByteArrayget_packet()
intget_packet_error() const
Variantget_var(allow_objects: bool = false)
intput_packet(buffer: PoolByteArray)
intput_var(var: Variant, full_objects: bool = false)

常量

成员说明

  • bool allow_object_decoding
Defaultfalse
setterset_allow_object_decoding(value)
getteris_object_decoding_allowed
  • int encode_buffer_max_size
Default8388608
setterset_encode_buffer_max_size(value)
getterget_encode_buffer_max_size

方法说明

  • get_available_packet_count get_available_packet_count() const

返回循环缓冲区中当前可用的数据包数。


  • get_packet get_packet()

获取原始数据包。


  • get_packet_error get_packet_error() const

返回接收到的最后一个数据包的错误状态(通过get_packetget_var)。


  • get_var get_var(allow_objects: bool = false)

获取变体。如果allow_objects(或allow_object_decoding)为true,则允许解码对象。

警告:反序列化的对象可以包含要执行的代码。如果序列化的对象来自不受信任的来源,请不要使用此选项,以避免潜在的安全威胁,例如远程执行代码。


  • put_packet put_packet(buffer: PoolByteArray)

发送原始数据包。


  • put_var put_var(var: Variant, full_objects: bool = false)

发送Variant作为数据包。