GFNetworkMessageValidator¶
API Reference / Network / 类索引
- 路径:
addons/gf/extensions/network/messages/gf_network_message_validator.gd - 模块:
Network - 继承:
RefCounted - API:
public - 类别:协议与扩展点 (
protocol) - 首次版本:
3.17.0
通用网络消息校验器。 校验消息类型、包体大小和可选必需载荷字段,避免后端收到明显无效数据。
成员概览¶
| 类型 | 名称 | 签名 |
|---|---|---|
| 常量 | DEFAULT_MAX_PACKET_SIZE |
const DEFAULT_MAX_PACKET_SIZE: int = 64 * 1024 |
| 属性 | allow_empty_message_type |
var allow_empty_message_type: bool = false |
| 属性 | min_packet_size |
var min_packet_size: int = 1 |
| 属性 | max_packet_size |
var max_packet_size: int = DEFAULT_MAX_PACKET_SIZE |
| 属性 | required_payload_keys |
var required_payload_keys: PackedStringArray = PackedStringArray() |
| 方法 | validate_message |
func validate_message(message: GFNetworkMessage) -> Dictionary: |
| 方法 | validate_bytes |
func validate_bytes(bytes: PackedByteArray, channel: GFNetworkChannel = null) -> Dictionary: |
| 方法 | get_debug_snapshot |
func get_debug_snapshot() -> Dictionary: |
常量¶
DEFAULT_MAX_PACKET_SIZE¶
- API:
public
默认全局最大包体大小,单位 bytes。
属性¶
allow_empty_message_type¶
- API:
public
是否允许空 message_type。
min_packet_size¶
- API:
public
最小包体大小。小于等于 0 表示不限制。
max_packet_size¶
- API:
public
最大包体大小。小于等于 0 表示不限制。
required_payload_keys¶
- API:
public
所有消息都必须包含的 payload key。
方法¶
validate_message¶
- API:
public
校验消息对象。
参数:
| 名称 | 说明 |
|---|---|
message |
消息。 |
返回:统一校验报告。
结构:
return: Dictionary,包含 ok 和 errors。
validate_bytes¶
- API:
public
校验原始包体。
参数:
| 名称 | 说明 |
|---|---|
bytes |
包体。 |
channel |
可选通道描述。 |
返回:统一校验报告。
结构:
return: Dictionary,包含 ok 和 errors。
get_debug_snapshot¶
- API:
public
获取调试快照。
返回:校验器状态。
结构:
return: Dictionary,包含 allow_empty_message_type、min_packet_size、max_packet_size、required_payload_keys。