跳转至

GFNetworkSession

API Reference / Network / 类索引

  • 路径:addons/gf/extensions/network/session/gf_network_session.gd
  • 模块:Network
  • 继承:RefCounted
  • API:public
  • 类别:运行时句柄 (runtime_handle)
  • 首次版本:3.17.0

网络会话状态快照。 记录当前网络工具的主机/客户端意图与连接状态,不绑定房间、账号或匹配逻辑。

成员概览

类型 名称 签名
信号 session_started signal session_started(mode: int, endpoint: String)
信号 session_connected signal session_connected(local_peer_id: int)
信号 session_closed signal session_closed(reason: String)
枚举 Mode enum Mode
属性 mode var mode: Mode = Mode.NONE
属性 endpoint var endpoint: String = ""
属性 local_peer_id var local_peer_id: int = -1
属性 max_peers var max_peers: int = 0
属性 is_active var is_active: bool = false
属性 has_connection var has_connection: bool = false
属性 started_at_unix var started_at_unix: float = 0.0
属性 metadata var metadata: Dictionary = {}
方法 start_host func start_host(options: Dictionary = {}) -> void:
方法 start_client func start_client(next_endpoint: String, options: Dictionary = {}) -> void:
方法 mark_connected func mark_connected(next_local_peer_id: int = -1) -> void:
方法 close func close(reason: String = "closed") -> void:
方法 get_debug_snapshot func get_debug_snapshot() -> Dictionary:

信号

session_started

  • API:public
signal session_started(mode: int, endpoint: String)

会话开始时发出。

参数:

名称 说明
mode Mode 枚举值。
endpoint 会话端点。

session_connected

  • API:public
signal session_connected(local_peer_id: int)

会话连接成功时发出。

参数:

名称 说明
local_peer_id 本地 peer 标识。

session_closed

  • API:public
signal session_closed(reason: String)

会话关闭时发出。

参数:

名称 说明
reason 关闭原因。

枚举

Mode

  • API:public
enum Mode { ## 无活动会话。 NONE, ## 主机会话。 HOST, ## 客户端会话。 CLIENT, }

会话模式。

属性

mode

  • API:public
var mode: Mode = Mode.NONE

当前模式。

endpoint

  • API:public
var endpoint: String = ""

会话端点。

local_peer_id

  • API:public
var local_peer_id: int = -1

本地 peer 标识。

max_peers

  • API:public
var max_peers: int = 0

最大远端数量。

is_active

  • API:public
var is_active: bool = false

会话是否已经启动。

has_connection

  • API:public
var has_connection: bool = false

后端是否已报告连接成功。

started_at_unix

  • API:public
var started_at_unix: float = 0.0

启动时间。

metadata

  • API:public
var metadata: Dictionary = {}

项目自定义元数据。

结构:

  • metadata: Dictionary,保存项目自定义会话元数据。

方法

start_host

  • API:public
func start_host(options: Dictionary = {}) -> void:

标记主机会话已开始。

参数:

名称 说明
options 启动选项。

结构:

  • options: Dictionary,支持 endpoint、port、max_clients、max_peers、local_peer_id、metadata。

start_client

  • API:public
func start_client(next_endpoint: String, options: Dictionary = {}) -> void:

标记客户端会话已开始。

参数:

名称 说明
next_endpoint 远端端点。
options 连接选项。

结构:

  • options: Dictionary,支持 max_peers、local_peer_id、metadata。

mark_connected

  • API:public
func mark_connected(next_local_peer_id: int = -1) -> void:

标记后端已经连接。

参数:

名称 说明
next_local_peer_id 本地 peer;小于 0 时保留原值。

close

  • API:public
func close(reason: String = "closed") -> void:

关闭会话。

参数:

名称 说明
reason 关闭原因。

get_debug_snapshot

  • API:public
func get_debug_snapshot() -> Dictionary:

获取调试快照。

返回:会话状态字典。

结构:

  • return: Dictionary,包含 mode、mode_name、endpoint、local_peer_id、max_peers、is_active、has_connection、started_at_unix、metadata。