分配、绑定和加入

分配绑定加入是 Relay 连接流中的三个不同概念。

注意:通过 Relay 服务器进行的绑定及其他交互是利用 UTPNGO 等网络解决方案来实现的,其中 NGO 是上层解决方案,而 UTP 是底层解决方案。

分配

“分配”是指当主机玩家向分配服务发送连接 Relay 服务器的请求后,由分配服务在 Relay 服务器上预留空位的操作。当分配服务在 Relay 服务器上预留空位后,将为玩家准备要绑定到的 Relay 服务器(建立网络连接)。空位的数量取决于分配请求中指定的最大连接数。

连接流步骤如下:

绑定

“绑定”是指玩家与分配服务在分配过程中为玩家预留的 Relay 服务器建立连接。当玩家完成绑定过程后,Relay 服务器可以获得玩家的 IP 地址并交换数据包。

注意:主机玩家和加入玩家必须先绑定到 Relay 服务器,才能互相连接。

BIND 是游戏客户端通过 Relay 协议向 Relay 服务器发送的特殊消息,目的是与 Relay 服务器建立连接。

注意:一般情况下,您应在调用分配和加入 API 之后再发送 BIND 消息,这些操作可以检索 Relay 服务器的目标地址,从而与 BIND 消息配合使用。

连接流步骤如下:

加入

“加入”是指加入玩家在 Relay 服务器上加入主机玩家的分配。加入玩家完成加入过程后,即可与主机玩家交换消息。“分配”和“加入”过程较为类似,二者的主要区别在于加入 API 响应中包含主机连接数据。

注意:“加入”是指加入玩家(非主机玩家)客户端加入主机客户端的游戏会话的操作,此操作本质上是对 Relay 服务的又一次分配调用。

连接流步骤如下: