跳转至

NetworkedMultiplayerPeer

继承

PacketPeer

简要描述

高级网络接口,可简化多人游戏的互动。

描述

管理与网络对等方的连接。为连接到服务器的每个客户机分配唯一的id。

成员

类型 属性名 默认值
bool refuse_new_connections true
int transfer_mode 0

方法

返回值类型 方法名称
int get_connection_status() const
int get_packet_peer() const
int get_unique_id() const
void poll()
void set_target_peer(id: int)

信号

  • connection_failed

连接尝试失败时发出。


  • connection_succeeded

连接尝试成功时发出。


  • peer_connected

客户端连接时由服务器发出。


  • peer_disconnected

当客户端断开连接时由服务器发出。


  • server_disconnected

服务器断开连接时由客户端发出。


枚举

enum TransferMode: - TRANSFER_MODE_UNRELIABLE = 0

不确认数据包,不对丢失的数据包进行重新发送尝试。可能比TRANSFER_MODE_UNRELIABLE_ORDERED更快。数据包可以以任何顺序到达。用于非关键数据,并始终考虑订单是否重要。

  • TRANSFER_MODE_UNRELIABLE_ORDERED = 1

不确认数据包,不对丢失的数据包进行重新发送尝试。数据包是按照发送的顺序接收的。可能比TRANSFER_MODE_RELIABLE更快。用于非关键数据或由于重新发送尝试而接收延迟而过时的数据,例如移动和位置数据。

  • TRANSFER_MODE_RELIABLE = 2

必须接收数据包,并应进行重发尝试,直到确认数据包为止。数据包必须按照发送的顺序接收。最可靠的传输模式,但由于开销可能是最慢的。用于必须按顺序传输和到达的关键数据,例如正在触发的功能或聊天消息。仔细考虑信息是否真的是关键的,并谨慎使用。


enum ConnectionStatus: - CONNECTION_DISCONNECTED = 0

正在进行的连接已断开连接。

  • CONNECTION_CONNECTING = 1

正在进行连接尝试。

  • CONNECTION_CONNECTED = 2

连接尝试成功。


常量

  • TARGET_PEER_BROADCAST = 0

数据包发送到服务器,然后重新分发给其他对等方。

  • TARGET_PEER_SERVER = 1

数据包仅发送到服务器。

成员说明

  • bool refuse_new_connections
Default true
setter set_refuse_new_connections(value)
getter is_refusing_new_connections
  • int transfer_mode
Default 0
setter set_transfer_mode(value)
getter get_transfer_mode

方法说明

  • get_connection_status get_connection_status() const

返回连接的当前状态。


  • get_packet_peer get_packet_peer() const

返回发送最新数据包的NetworkedMultiplayerPeer的ID。


  • get_unique_id get_unique_id() const

返回此NetworkedMultiplayerPeer的ID。


  • poll poll()

等待最多1秒钟以接收新的网络事件。


  • set_target_peer set_target_peer(id: int)

设置要将数据包发送到的对等方。

id可以是以下之一:TARGET_PEER_BROADCAST发送给所有连接的对等方,TARGET_PEER_SERVER发送给充当服务器的对等方,要发送给该特定对等方的有效对等方ID,