NetworkedMultiplayerPeer
Inherits: PacketPeer < Reference < Object
Inherited By: MultiplayerPeerGDNative, NetworkedMultiplayerENet, WebRTCMultiplayer, WebSocketMultiplayerPeer
高级网络接口,简化多人互动。
描述
管理与网络对等体的连接。为连接到服务器的每个客户端分配唯一的 ID。另请参见 MultiplayerAPI。
注意:高级别多人游戏的 API 协议属于实现细节,没有准备被非 Godot 服务器使用。改变时恕不另行通知。
教程
属性
| ||
|
方法
get_connection_status ( ) const | |
get_packet_peer ( ) const | |
get_unique_id ( ) const | |
void | poll ( ) |
void | set_target_peer ( int id ) |
信号
- connection_failed ( )
当连接尝试失败时触发该信号。
- connection_succeeded ( )
当连接尝试成功时触发。
- peer_connected ( int id )
当客户端连接时由服务器触发该信号。
- peer_disconnected ( int id )
当客户端断开连接时由服务器触发。
- 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 |
|
Setter | set_refuse_new_connections(value) |
Getter | is_refusing_new_connections() |
为 true
时,这个 NetworkedMultiplayerPeer
拒绝新的连接。
- TransferMode transfer_mode
Default |
|
Setter | set_transfer_mode(value) |
Getter | get_transfer_mode() |
向target_peer
发送数据包的方式。参阅TransferMode。
方法说明
- ConnectionStatus get_connection_status ( ) const
返回连接的当前状态。请参阅 ConnectionStatus。
- int get_packet_peer ( ) const
返回最近发送数据包的 NetworkedMultiplayerPeer
的 ID。
- int get_unique_id ( ) const
返回这个 NetworkedMultiplayerPeer
的 ID。
- void poll ( )
等待最多 1 秒以接收一个新的网络事件。
- void set_target_peer ( int id )
设置数据包将被发送至的对等体。
id
可以是其中之一。TARGET_PEER_BROADCAST 发送给所有连接的对等体,TARGET_PEER_SERVER 发送给作为服务器的对等体,输入一个有效的对等体ID将发送给该特定对等体,输入负的ID将发送给所有其余对等体。默认情况下,目标对等体是TARGET_PEER_BROADCAST。